[PHP] error_reporting(0)可以屏蔽Fatal error错误
发布日期:2021-05-18 08:03:20 浏览次数:8 分类:精选文章

本文共 485 字,大约阅读时间需要 1 分钟。

在开发过程中,遇到了一个关于PHP错误报告的有趣现象。按照常识,error_reporting(0) 只能屏蔽非严重的错误,比如 warnings 和 notices。但最新的实验表明,它甚至能够屏蔽 Fatal error 级别的错误,导致浏览器显示 200 而非 500 错误码,同时不影响其他类型的错误。

这间现象的发现源于一个开源项目在浏览器上的空白显示。尝试通过php-fpm和nginx日志查看,均无相关错误信息。于是,使用vscode和php-xdebug进行调试,最终发现代码中的PDO连接尝试失败,导致Fatal error。但由于Php的错误报告机制的巧妙设置,这些错误被成功屏蔽。

通过撰写和测试简短代码,我验证了error_reporting(0)对Fatal error的屏蔽效果。配置文件显示,display_errors设置为"On",通常这会显示错误信息。但与预期不同,这些严重错误被成功抑制了。

这个发现提示,推荐对Php错误报告和异常处理有更深入的了解,以便合理使用error_reporting函数,确保在开发中及时处理各级别错误。

上一篇:[PHP] 新版本PHP7.4与新版本MySQL8认证问题
下一篇:[Linux] centos6.5升级安装的supervisor

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月17日 23时01分29秒