获取当前请求中发生的所有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? 提到你的第二个关注: 作为蛋已经提到:使用register_shutdown_function()是一种方式,答案https://stackoverflow.com/a/7313887/771077中的代码显示如何. 但请记住 注册关机和错误处理函数应该是代码中的第一件事(我愚弄了一个配置文件中的错误,由于我之后注册了错误处理程序,因此处理不正确). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |