2011-06-07 120 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