如何获取页面中发生的 PHP 错误列表


How can I get a list of PHP errors occurred in a page?

当我转到我的一个php页面时,我收到了一堆错误。有些是一些警告,其中一个是致命错误。

我试图找出我的页面是否有任何致命错误。有没有办法获取该页面上发生的错误列表,以便我可以确定是否存在致命错误?

函数 error_get_last() 不能解决我的目的,因为它只列出了最后发生的错误,这不一定是致命错误。

谢谢

我不明白这有什么用例,但要回答您的问题 - 您可以设置自己的错误处理程序,并捕获所有错误:

$errors = array();
set_error_handler(function($code, $msg, $file, $line, $context) use(&$errors){
  $errors[] = compact('code', 'msg', 'file', 'line', 'context');
});

并在脚本末尾检查该数组。

要"捕获"致命错误,请在关机期间检查error_get_last()

register_shutdown_function(function(){
  $error = error_get_last();
  if($error && in_array($error['type'], array(E_ERROR, E_PARSE, E_COMPILE_ERROR)){
    // some kind of fatal error        
  }
});