php - 如何通过php.ini配置过滤掉通知
问题描述
最近我们将 webapp 的 PHP 版本从版本 5.[something] 迁移到 7.2,并且我们的 apache2php.ini
设置为避免在服务器和浏览器中记录日志。有人告诉我,在迁移之前设置工作正常,但现在到处都出现了通知。
这是设置:
error_reporting = E_ALL & ~E_NOTICE
我努力了
error_reporting = E_ALL ^ (E_DEPRECATED & E_NOTICE)
也,无济于事。没有.htaccess
文件覆盖设置,当我将error_reporting
变量设置为不同的值时,应用程序会报告 error_reporting 状态的变化,只是当我指定我不想要 E_NOTICE 时,设置不起作用。
这是处理错误的配置片段:
display_errors = On
;error_reporting = E_ALL ^ E_DEPRECATED
;error_reporting = E_ALL ^ (E_DEPRECATED & E_NOTICE)
;error_reporting = E_COMPILE_ERROR | E_ERROR | E_CORE_ERROR
error_reporting = E_ALL & ~E_NOTICE
;E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE
我们希望避免在服务器和浏览器中记录通知。关于什么可能是错的任何想法?
谢谢!
解决方案
我们设法解决了这个问题,我们的一个库(PEAR 的 cache-lite)有一行代码以编程方式/usr/share/php/Cache/Lite.php
在第 25 行的文件中设置日志记录代码,这里是
error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT);
我们将其注释掉,现在一切正常。谢谢大家!