[PHP] error_reporting(0)可以屏蔽Fatal error错误
2023-02-18 15:41:48 时间
按照以前的印象,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
相关文章
- [Php] windows下使用composer出现SHA384 is not supported by your openssl extension
- [labuladong算法小抄]手把手带你刷二叉树(第一期)
- [PHP] 新版本PHP7.4与新版本MySQL8认证问题
- [PHP] error_reporting(0)可以屏蔽Fatal error错误
- [PHP] PDO对象与mysql的连接超时
- [uniapp] 解决推送时报错plus not defined
- [PHP] time_wait与长连接短连接
- [PHP] Ubuntu快速安装起PHP7.4
- [PHP] CentOS下搭建下PHP的运行环境
- [日常] 修复了grub引导问题
- [labuladong算法小抄]如何判断回文链表
- [MySQL] docker下安装使用mysql配置主从复制
- [日常] lscpu查看cpu的详细信息
- [日常] 高并发抢购方案的思考
- [日常] 免费的文本比较工具Meld使用
- [css] 使用css画文件夹icon和话筒icon
- [日常] 神奇的引导问题deepin与win10
- [日常] 使用TCPDUMP和Ethereal抓包分析HTTP请求中的异常情况
- [PHP] 解决chrome新版same-site策略跨域无法记录cookie
- [labuladong算法小抄]如何k个一组反转链表