获取当前请求中发生的所有PHP错误/警告/ …

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了获取当前请求中发生的所有PHP错误/警告/ …脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
将指令display_errors设置为true(同时将error_reporting设置为E_ALL)会打印在保留 PHP输出之前的当前请求期间发生的所有错误.

因为我在PHP代码中发送头文件,所以我收到了更多的错误(发送内容是不可能的).

现在我想将错误信息添加页面的末尾.在那里我想显示发生的所有错误(直到那时).不幸的是,error_get_last只返回发生的最后一个错误.

我第一次认为set_error_handler可能会解决问题,但我担心我的错误记录不再工作了:

除此之外:

但也许他们也不可用在error_get_last()

那么在生成内容输出之后是否有打印所有错误方法

提到你的第一个关注

错误处理仍然可以工作,只要:

function myErrorHandler($error_level,$error_message,$error_file,$error_line,$error_context) {
    // Do your stuff here,e.g. saving messages to an array

    // Tell PHP to also run ITs error handler
    return false;
}

存储所有错误号码的一个解决方案(在外部数组$error_list中)可以是:

$error_list = array();

$myErrorHandler = function ($error_level,$error_context) use (&$error_list) {
    $error_list[] = $error_level;
    // Tell PHP to also run its error handler
    return false;
};
// Set your own error handler
$old_error_handler = set_error_handler($myErrorHandler);

另一种方法是使用例外.在function set_error_handler()评论中有一个很好的例子

另见:

> Are global variables in PHP considered bad practice? If so,why?
> PHP: Callback function using variables calculated outside of it

提到你的第二个关注:

作为蛋已经提到:使用register_shutdown_function()是一种方式,答案https://stackoverflow.com/a/7313887/771077中的代码显示如何.

但请记住

注册关机和错误处理函数应该代码中的第一件事(我愚弄了一个配置文件中的错误,由于我之后注册错误处理程序,因此处理不正确).
>解析错误可能无法正确处理(请参阅https://stackoverflow.com/a/7313887/771077中的注释)

脚本宝典总结

以上是脚本宝典为你收集整理的获取当前请求中发生的所有PHP错误/警告/ …全部内容,希望文章能够帮你解决获取当前请求中发生的所有PHP错误/警告/ …所遇到的问题。

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

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