PHP在服务器上创建文本文件
在我的php应用程序中,我想创建一个文本格式的错误日志,所以尝试了这样的方法,在我的本地机器上运行良好PHP在服务器上创建文本文件,php,mysql,Php,Mysql,在我的php应用程序中,我想创建一个文本格式的错误日志,所以尝试了这样的方法,在我的本地机器上运行良好 if(!$mail->Send()) { echo "Message could not be sent. <p>"; echo "Mailer Error: " . $mail->ErrorInfo; $stringData = "Error Info: ".$mail->ErrorInfo."\t\t"; $stringData .= "Email t
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
$stringData = "Error Info: ".$mail->ErrorInfo."\t\t";
$stringData .= "Email to reciepient \t Regnumber: ".$RegNo." \t Apllicant Name: ".$ApplicantName." Failed --- end ----";
$fp = fopen($_SERVER['DOCUMENT_ROOT']."/lib/email_errorlog.txt","wb");
fwrite($fp,$stringData);
fclose($fp);
exit;
}
if(!$mail->Send())
{
echo“无法发送消息。”;
回显“邮件错误:”.$mail->ErrorInfo;
$stringData=“错误信息:”.$mail->ErrorInfo.\t\t”;
$stringData.=“发送给接收者的电子邮件\t注册号:“..$RegNo.”\t应用程序名称:“..$applicationName.”失败---结束----”;
$fp=fopen($_SERVER['DOCUMENT_ROOT'].“/lib/email_errorlog.txt”,“wb”);
fwrite($fp,$stringData);
fclose($fp);
出口
}
我已经在中看到了讨论,但它对我不起作用。问题是,没有显示错误,但没有创建文本文件。需要在服务器上设置任何权限吗 您必须确保:
- 文件夹/lib存在于文档根目录中
具有写入该文件夹的权限webserver进程
如果使用ftp帐户创建文件夹,则Web服务器进程将具有无访问权限。您可以将权限设置为777,但每个人都可以访问。最好将权限设置为770,并将文件夹组设置为Web服务器组id。在尝试创建文件之前,您可以检查文件(或父目录)是否正确 根据
fopen()
:
成功时返回文件指针资源,错误时返回FALSE
因此,您可以使用此+或构建正确的文件写入代码:
$fp = fopen($_SERVER['DOCUMENT_ROOT']."/lib/email_errorlog.txt","wb");
if( $fp === false){
// Notification about failed opening
echo "Cannot open file: " + $php_errormsg; // Not that wise in production
exit();
}
fwrite($fp,$stringData);
fclose($fp);
exit();
但是,如果配置正确,所有错误都应该出现在错误日志中。是的,问题在于文件夹权限,现在我更正了,工作正常。。谢谢