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

按照以前的印象,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();
?>
<?php
error_reporting(0);
new 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值