我想全局启用已弃用的错误,但是针对特定的第三方代码禁用它们,我没有时间修复它们。
所以,我在php.ini中有这个:
error_reporting = E_ALL & ~E_NOTICE | E_DEPRECATED
这就在我要禁用警告的行之前
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
但是,它不起作用,我仍然收到该特定行的警告。如果我在php.ini中全局禁用它,它就可以了。我使用的是PHP 5.3.10。什么想法可能是错的?
答案 0 :(得分:1)
想出来。第三方代码具有自定义错误处理程序,显然它覆盖了您使用error_reporting()设置的任何内容。当我注释掉set_error_handler()行时,error_reporting()生效。
答案 1 :(得分:0)
在php.ini中添加以下错误报告行:
error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED);
然后重启服务器并检查它。