如何使用自定义错误处理程序处理解析和致命错误?
将指令设置display_errors为true(error_reporting设置为E_ALL)时会打印当前请求期间发生的所有错误.
由于我在我的PHP代码中发送标题,我得到了更多错误(在发送内容后发送标题是不可能的).
现在我想将错误消息添加到我的页面末尾.在那里,我想展示所有发生的错误(直到那时).不幸的是,error_get_last只返回发生的最后一个错误.
我首先想到set_error_handler可能会解决问题,但我担心我的错误记录不再起作用了:
重要的是要记住,对于error_types指定的错误类型,标准PHP错误处理程序是完全被绕过的,除非回调函数返回FALSE.
除此之外:
下面的错误类型不能与用户定义的函数来处理:E_ERROR,E_PARSE,E_CORE_ERROR,E_CORE_WARNING,E_COMPILE_ERROR,E_COMPILE_WARNING,最E_STRICT的其中的set_error_han dler()被调用的文件中提出.
但也许他们也没有 error_get_last()
那么有没有办法在输出生成的内容后打印所有错误?
我需要一个解决方案来捕获所有php致命错误,异常,警告等...并给出回调.所以我可以向用户显示友好版本并记录该错误.关于记录方法.我的php脚本允许许多站点在单个安装中运行.我想我每天都会使用文本文件.任何sugesstion或php类,lib?
我知道PHP会在脚本执行结束时关闭所有打开的MySQL连接,但是如果发生致命错误,连接会发生什么?
我在这里或谷歌上找不到任何东西.
我使用静态连接来重用它们.另外还有一个__destruct()关闭它.在执行结束时,调用析构函数(我在日志文件中看到它).但是如果我做了一个致命错误(只是为了找出发生了什么),则不会调用析构函数.连接会发生什么?