如何忽略通过代码完成的函数调用的所有ini_set("disply_error")
错误,并仅使用在php.ini文件中配置的设置?
当我为display_errors
执行grep时,它会显示一个无法通过手动更改的大型列表,所以有没有办法只使用php.ini设置?
答案 0 :(得分:2)
要阻止通过ini_set()
更改设置,您需要覆盖或完全禁用它。
将ini_set
放入php.ini
disable_functions=ini_set
这样做的缺点是,每次调用ini_set()
都会记录错误。
至少有两种方法可以覆盖一个功能:
您的系统中可能安装了overwrite_function()
(Docs)。以下代码段将以静默方式禁用ini_set()
:
override_function('ini_set', '$a,$b', 'return true;');
您可以使用命名空间来覆盖行为:
<?php
namespace MyNamespace {
function ini_set($key, $value)
{
return true;
}
ini_set('display_error', 'all');
在上面的代码段中,函数ini_set
将解析为覆盖行为的MyNamespace\ini_set
。