阻止调用error_reporting()和/或ini_set(‘display_errors’,’On’)来覆盖php.ini设置
作者:互联网
我在php.ini文件中有这个设置:
error_reporting = E_ERROR|E_PARSE|E_CORE_ERROR|E_COMPILE_ERROR
但我仍然每分钟在错误日志中收到数千条NOTICE和WARNING条目.我当然意识到我会更好地处理这些错误,但这不是我的代码,我没有得到报酬,我只需要摆脱那些胖的error_log文件(每天Gbs).
我搜索了代码并删除了所有error_reporting()调用,这样做了但是,有没有办法禁止error_reporting()覆盖php.ini设置?
我是否还可以阻止调用ini_set(‘display_errors’)来覆盖php.ini设置?
解决方法:
is there a way to disallow error_reporting() from overriding php.ini settings?
也许.
如果您在Apache(或通过FPM的FastCGI)下使用mod_php,则可以使用php_admin_value
and php_admin_flag
强制某些INI设置,使ini_set无法覆盖.
不幸的是,我不知道除了disable_functions
以外的中性error_reporting的方法 – 但每次使用时都会抛出一个PHP警告.
(作为旁注,我发现很奇怪开发人员会在生产中设置错误报告级别,并且仍然会生成如此大量的日志.)
标签:error-reporting,php 来源: https://codeday.me/bug/20190903/1797180.html