Can';t获取PHP错误以转到日志文件(Apache日志除外)
在Ubuntu web服务器[LAMP]上,我试图将PHP错误写入PHP_错误文件中,但不管我做什么,它们都会进入apache日志 以下是我所做的尝试:Can';t获取PHP错误以转到日志文件(Apache日志除外),php,apache,lamp,error-reporting,error-log,Php,Apache,Lamp,Error Reporting,Error Log,在Ubuntu web服务器[LAMP]上,我试图将PHP错误写入PHP_错误文件中,但不管我做什么,它们都会进入apache日志 以下是我所做的尝试: 编辑了php.ini文件: 错误报告=E|u全部| E|u严格 显示错误=关闭 日志错误=On error\u log=/var/log/php\u errors.log 重新启动Apache 检查了phpinfo()输出,以验证我对php.ini文件所做的更改是否成功 在确认错误仍然存在于Apache日志中之后,我实际创建了php_err
- 错误报告=E|u全部| E|u严格
- 显示错误=关闭
- 日志错误=On
- error\u log=/var/log/php\u errors.log
phpinfo()
输出,以验证我对php.ini文件所做的更改是否成功有人有解决方案吗?检查
/var/log
的目录权限。确保运行Web服务的用户对该文件夹具有写入权限。或者,创建一个子文件夹(/var/log/phplogs?)并为相关用户分配明确的权限,然后将错误\u log
值更改为该文件夹中的文件检查/var/log
的目录权限。确保运行Web服务的用户对该文件夹具有写入权限。或者,创建一个子文件夹(/var/log/phplogs?)并为相关用户分配对该文件夹的显式权限,然后将error\u log
值更改为该文件夹中与所有权相关的文件。一个或另一个已经起作用[原因我不清楚]:
chown www-data:www-data /var/log/php_error.log
chown same-user-as-www-home:same-user-as-web-home /var/log/php_error.log
此外,以下因素也产生了影响:
chmod 664 /var/log/php_error.log
[与chmod 644相反……原因我也不清楚]这与所有权有关。一个或另一个已经起作用[原因我不清楚]:
chown www-data:www-data /var/log/php_error.log
chown same-user-as-www-home:same-user-as-web-home /var/log/php_error.log
此外,以下因素也产生了影响:
chmod 664 /var/log/php_error.log
[与chmod 644相反…同样出于我不清楚的原因]作为记录,Ubuntu使用了AppArmor,它限制了Apache的功能 此外,要更改文件的权限并编辑php.ini文件,必须执行以下步骤: 转到下一个文件 /etc/apparmor.d/abstractions 编辑此文件 普通公寓 添加下一行
/var/log/php_errors.log rw,
其中rw表示进程可以读取和写入此文件
或者你也可以这样做:
sudo nano /etc/apparmor.d/abstractions/apache2-common
最后,重新加载apparmor的配置
systemctl reload apparmor
注意:Centos/Redhat/Oracle Linux使用SELinux,它需要相同的步骤,但配置不同。记录在案,Ubuntu使用AppArmor,它限制了Apache的功能 此外,要更改文件的权限并编辑php.ini文件,必须执行以下步骤: 转到下一个文件 /etc/apparmor.d/abstractions 编辑此文件 普通公寓 添加下一行
/var/log/php_errors.log rw,
其中rw表示进程可以读取和写入此文件
或者你也可以这样做:
sudo nano /etc/apparmor.d/abstractions/apache2-common
最后,重新加载apparmor的配置
systemctl reload apparmor
注意:Centos/Redhat/Oracle Linux使用SELinux,它需要相同的步骤,但配置不同。检查
log\u errors\u max\u len
大于0,web服务器是否有权创建/var/log/php\u errors.log
?您可能需要将其放置在Apache可以写入的位置中,例如/var/log/httpd/php\u errors.log
或/var/log/apache2/php\u errors.log
检查日志\u errors\u max\u len
大于0,web服务器是否有权创建/var/log/php\u errors.log
?您可能需要将其放置在Apache可以写入的位置中,如/var/log/httpd/php_errors.log
或/var/log/apache2/php_errors.log