有什麼辦法可以獲得PHP遇到存儲在數組中的所有通知,警告,錯誤等?獲取數組中的所有PHP錯誤
我需要這個自定義錯誤記錄器,並且我希望它能夠捕獲除了異常之外的錯誤,我已經這樣做了。
我設法找到了一個錯誤,但是這還不夠:因爲它們發生某種error_get_last
有什麼辦法可以獲得PHP遇到存儲在數組中的所有通知,警告,錯誤等?獲取數組中的所有PHP錯誤
我需要這個自定義錯誤記錄器,並且我希望它能夠捕獲除了異常之外的錯誤,我已經這樣做了。
我設法找到了一個錯誤,但是這還不夠:因爲它們發生某種error_get_last
你必須建立一個自定義錯誤處理程序: http://www.php.net/manual/en/function.set-error-handler.php
$_ERRORS = array();
function myErrorHandler($errno, $errstr, $errfile, $errline) {
global $_ERRORS;
$_ERRORS[] = array("errno" => $errno, "errstr" => $errstr, "errfile" => $errfile, "errline" => $errline);
}
set_error_handler("myErrorHandler");
謝謝。是否有可能獲得錯誤類型? (即通知,警告)。而且,如果我的錯誤處理函數是類的一部分,是否有任何方法可以在不使用靜態方法的情況下使用它? –
@EduardLuca是的,你的自定義錯誤處理程序可以是任何「回調」,所以你可以使用它的對象和方法:http://uk.php.net/manual/en/language.pseudo-types.php#language .types.callback – liquorvicar
@EduardLuca'$ errno'變量包含錯誤的類型(例如E_USER_ERROR或E_USER_WARNING)。你可以在這裏找到可能值列表:http://php.net/manual/en/errorfunc.constants.php –
你可以設置一個custom error handler,然後要麼使用一個靜態變量來收集所有的錯誤,或把它們寫的持久性存儲。
什麼 混合的set_error_han dler(回調$ error_handler [摘要$ error_types = E_ALL | E_STRICT])
你試過[ 'set_error_handler'](http://php.net/manual/en/function.set-error-handler.php)? – Shef