是否可以捕获文件中发生的所有PHP错误

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了是否可以捕获文件中发生的所有PHP错误脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在页面中捕获所有 PHP错误(E_ERROR,E_WARNING,E_NOTICE,..)并将其记录到MongoDB,以便更好地阅读和评论.

找到了一种方法来捕捉’error_get_last’发生的最后一次错误并使用’register_shutdown_functionHandle fatal errors in PHP using register_shutdown_function()将其发送到我想要的任何地方

但是,如果我的文件有多个错误,如警告和通知,如何在文件获取所有错误呢?这可能吗?我需要的是’error_get_all’.

在这里你可以找到我的代码,这段代码一个致命的错误,两个警告和一个通知

function shutdown() {
  $error = error_get_last();
  if ($error['tyPE'] === E_ERROR || $error['type'] === E_WARNING || $error['type'] === E_NOTICE) {
    var_dump($error);
  }
}

register_shutdown_function('shutdown');

spl_autoload_register('foo');

$x = 5;
$y = 0;

echo 'x/y: ' . $x / $y . '<br/>';

foreach ($noarray as $noelement) {
  echo 'no element: ' . $noelement . '<br/>';
}

解决方法

答案是结合解决方案:

使用’set_error_handler’来捕获所有可能的错误(参见http://php.net/manual/en/function.set-error-handler.php),并使用描述的register_shutdown_function记录错过的错误.

通过执行此操作,运行时期间的非致命错误将被自定义处理程序捕获,一直持续到脚本结束或发生致命错误,该错误将由自定义关闭函数捕获,具体取决于类型.

脚本宝典总结

以上是脚本宝典为你收集整理的是否可以捕获文件中发生的所有PHP错误全部内容,希望文章能够帮你解决是否可以捕获文件中发生的所有PHP错误所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。