我想在我的php ini文件中关闭生产环境中的display_errors,并将错误保存在日志文件中。经过几个小时没有成功,我决定征求意见。
我做了什么:
在加载的ini文件中根据php info:
display_errors = Off
log_errors = On
error_log = /var/log/apache2/php.errors
error_reporting=E_ALL
(file exists, is writable and chown to apache user www-data)
重启apache
生成致命错误,函数未定义。
检查了日志文件但没有保存,日志文件为0kb
在phpinfo()中我有error_reporting = 30711
有什么建议吗?我错过了什么吗?
由于
答案 0 :(得分:2)
创建一个可从Apache写入的目录。试试这样的事情
mkdir /var/log/php
chown www-data /var/log/php
在php.ini中
error_log = /var/log/php/php_errors.log
请记住旋转/var/log/php/php_errors.log
答案 1 :(得分:1)
我认为这是因为apache2目录由root拥有,并且对该组以外的用户没有读/执行权限。因此,即使php.errors文件存在且可写,因为其包含的目录不可访问,因此www-data无法写入。
答案 2 :(得分:0)
我遇到了同样的问题,如果在php.ini
上选择syslog,日志将会起作用