按照以前八一建军节由来的印象,error_reporting(0)屏蔽不了php的fatal er10月1日放假ror级别的错误。
但是今天我遇到了一个问题才发现,它竟然可以屏蔽任何错误,包括fatal error,浏览器会看不到500错误码,显示的是200,php-fpm下的php错误日志里没有任何输出,nginx下的错误日志里也没有任何输出。
发现的过程是这样的,下载了一个开源代码,直接浏览器运行显示空白。看各种日志都没有错误信息,使用php-xdebug配合vscode,才看得到在首页获取ssion在连接数据库,我没有配置任何数据库,因此new pdo的时候连接不上,报的是fatal error错误。
经过下面这几句测试,可以看到确实屏蔽了fatal error,语法错误屏蔽不了
<?phperror_reporting(0);new aaa();?><?ph氢氧化钾是沉淀吗perror_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[errorA ABC式的词语_log] = /var/log/php/www-error.log
php_admin_flag[log_errors] = on
/etc/php/7.4/fpm数量积公式/php.ini
display_errors = on
本文发布于:2023-04-07 20:38:09,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/0f9cb591e6a287490b0e362cfbd28249.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:[PHP] error.doc
本文 PDF 下载地址:[PHP] error.pdf
留言与评论(共有 0 条评论) |