加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[PHP] error_reporting(0)可以屏蔽Fatal error错误

发布时间:2021-05-21 06:53:04 所属栏目:大数据 来源: https://www.jb51.cc
导读:按照以前的印象,error_reporting(0)屏蔽不了PHP的Fatal error级别的错误。 但是今天我遇到了一个问题才发现,它竟然可以屏蔽任何错误,包括Fatal error,浏览器会看不到500错误码,显示的是200,PHP-fpm下的PHP错误日志里没有任何输出,Nginx下的错误日志里

按照以前的印象,error_reporting(0)屏蔽不了PHP的Fatal error级别的错误。
但是今天我遇到了一个问题才发现,它竟然可以屏蔽任何错误,包括Fatal error,浏览器会看不到500错误码,显示的是200,PHP-fpm下的PHP错误日志里没有任何输出,Nginx下的错误日志里也没有任何输出。

发现的过程是这样的,下载了一个开源代码,直接浏览器运行显示空白。看各种日志都没有错误信息,使用PHP-xdebug配合vscode,才看得到在首页获取session在连接数据库,我没有配置任何数据库,因此new PDO的时候连接不上,报的是Fatal error错误。


经过下面这几句测试,可以看到确实屏蔽了Fatal error,语法错误屏蔽不了

<?PHP
error_reporting(0);
new aaa();
?>
<? PDO();
?>

?

我的测试环境为ubuntu,PHP版本是7.4,日志配置了下面这些,全都可以无视掉
/etc/PHP/7.4/fpm/pool.d/www.conf
PHP_flag[display_errors] = on
PHP_admin_value[error_log] = /var/log/PHP/www-error.log
PHP_admin_flag[log_errors] = on

/etc/PHP/7.4/fpm/PHP.ini
display_errors = On

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读