0

我想全局启用已弃用的错误,但为特定的第三方代码禁用它们,我没有时间修复。所以,我在 php.ini 中有这个: error_reporting = E_ALL & ~E_NOTICE | E_DEPRECATED

这在我要禁用警告的行之前 error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);

但是,它不起作用,我仍然收到该特定行的警告。如果我在 php.ini 中全局禁用它们,它就可以工作。我正在使用 PHP 5.3.10。有什么想法可能是错的吗?

4

2 回答 2

2

弄清楚了。第三方代码具有自定义错误处理程序,显然它覆盖了您使用 error_reporting() 设置的任何内容。当我注释掉 set_error_handler() 行时,error_reporting() 生效。

于 2012-04-18T23:06:56.367 回答
0

在 php.ini 中添加以下错误报告行:

error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED);

然后重新启动服务器并检查它。

于 2016-04-30T10:13:09.977 回答