2011-06-07 83 views
5

PHP日志格式不包含警告日期。例如PHP日志:警告格式

PHP Warning: Cannot modify header information... 

没有任何发生警告的日期。

有没有办法改变警告格式,或者至少在日志中有日期? (如果重要,使用php-fpm)。

回答

2

您当然可以始终使用set_error_handler来定义您自己的错误处理程序。简化示例:

function handler($errno, $errstr, $errfile, $errline, $errcontext) { 
    $message = date('Y-m-d H:i:s') . ": $errstr in $errfile at $errline\n"; 
    file_put_contents('error.log', $message, FILE_APPEND); 
} 

set_error_handler('handler'); 
+0

谢谢。但是有什么来自php.ini吗?处理函数func /'set_error_handler'将一直被调用。 – 2011-06-07 02:18:21

+0

不是我知道的,没有。 http://www.php.net/manual/en/ini.list.php如果你的错误处理程序一直被调用,也许你应该修复你的应用程序。 ;-P但即使是这样,我也没有看到它的一个大问题。 – deceze 2011-06-07 02:20:18

+0

所有的时间意味着每个脚本必须运行它。性能方面,它可能不是一个大问题,但通过'php.ini'实现的全局解决方案可以适用于任何应用程序,即使他们错过了'set_error_handler'调用。 – 2011-06-07 02:47:00