普通错误用set_error_handler来捕捉,致命错误则用register_shutdown_function来捕捉:
set_error_handler(function($errno, $errstr, $errfile, $errline){
$errorContent = $errstr . ' '.$errfile . ' ' . 'line:' . $errline;
echo $errContent;
});
register_shutdown_function(function(){
$e = error_get_last();
switch($e['type']) {
case E_ERROR:
case E_PARSE:
case E_CORE_ERROR:
case E_COMPILE_ERROR:
case E_USER_ERROR:
$errorContent = implode('</br>#', explode('#', $e['message']. ' '.$e['file'] . ' ' . 'line:' . $e['line']));
echo $errorContent;
break;
}
});