1

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

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

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

谢谢,

4

1 回答 1

2

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

$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        
  }
});
于 2013-10-30T18:46:22.857 回答