如何处理解析错误和致命错误?
我为我的网站编写了一个自定义错误处理程序,并且我知道 PHP 不允许处理解析错误和致命错误。我可以做些什么来让它处理这些错误吗?我不希望将它们输出给用户(但我想为它们使用我的错误处理程序)。
谢谢!
I wrote a custom error handler for my site and I'm aware that PHP doesn't allow handling of parse and fatal errors. Is there something I can do to make it handle these errors? I don't want them being outputted to the user (but I want to use my error handler for them).
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果它无法解析您的脚本,它将无法解析您的自定义错误处理程序。
当您的网站投入生产时,您应该在
php.ini
中关闭display_errors
并将error_reporting
设置为 none。另外,我相信 set_error_handler() 可以处理致命错误。
If it can't parse your script, it won't be able to parse your custom error handler.
You should have
display_errors
off in yourphp.ini
and also seterror_reporting
to none when your site is in production.Also, I believe
set_error_handler()
can handle fatal errors.您可以尝试
register_shutdown_function
。如果您包含/需要的文件之一存在错误(甚至解析错误),则仍将调用此函数。虽然您将无法使用
debug_backtrace
因为关闭函数将在您的错误之外被调用,您可以尝试使用error_get_last
获取有关错误的一些信息。You could try
register_shutdown_function
. If there is an error (even parse one) in one of files you have included/required this function will still be called.Though you won't be able to use
debug_backtrace
because shutdown function will be called outside of your error, you could try to useerror_get_last
to get some information about the error.