为什么PHP日志中没有写入一些PHP错误?

时间:2021-11-14 22:01:52

On a server I have to take care of, errors from a vhost do not go to the standard PHP error log.

在我必须处理的服务器上,来自vhost的错误不会转到标准的PHP错误日志。

In the php.ini we have

在php.ini中我们有

log = /var/log/file 

and phpinfo() does not show any difference between the vhost and the whole server.

和phpinfo()没有显示vhost和整个服务器之间的任何区别。

But the callback function set up by set_error_handler() catches errors which are not in the php log.

但是set_error_handler()设置的回调函数捕获了php日志中没有的错误。

error_reporting is set to E_ALL once and never modified.

error_reporting设置为E_ALL一次,从不修改。

Could you help me to find a way to explore what's happening here?

你能帮我找一个探索这里发生的事情的方法吗?

2 个解决方案

#1


4  

Perhaps the errors that aren't logged aren't supposed to be logged? The error reporting settings have no effect when set_error_handler is used, hence you see more errors than are in the logfile.

也许不记录未记录的错误?使用set_error_handler时,错误报告设置无效,因此您会看到比日志文件中的错误更多的错误。

#2


0  

I would take a look at error_log, log_error and error_reporting directive in php.ini and also take a look in the httpd.conf because directives can also be added there using "php_admin_value" and others.

我将在php.ini中查看error_log,log_error和error_reporting指令,并查看httpd.conf,因为也可以使用“php_admin_value”和其他指令添加指令。

#1


4  

Perhaps the errors that aren't logged aren't supposed to be logged? The error reporting settings have no effect when set_error_handler is used, hence you see more errors than are in the logfile.

也许不记录未记录的错误?使用set_error_handler时,错误报告设置无效,因此您会看到比日志文件中的错误更多的错误。

#2


0  

I would take a look at error_log, log_error and error_reporting directive in php.ini and also take a look in the httpd.conf because directives can also be added there using "php_admin_value" and others.

我将在php.ini中查看error_log,log_error和error_reporting指令,并查看httpd.conf,因为也可以使用“php_admin_value”和其他指令添加指令。