PHP display_errors = 0未受到尊重

时间:2013-02-11 21:56:36

标签: php warnings ini-set

我正在使用CodeIgniter,我在index.php中添加了以下行:

error_reporting(E_ALL ^ E_NOTICE); 
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', $_SERVER['DOCUMENT_ROOT'] . '/php_errors.log');

但是出于某种原因,PHP始终显示警告/错误,而不是在可写目录中创建日志。我知道上面的代码被击中,因为如果我删除“^ E_NOTICES”部分并重新提交,我会看到大量的通知。我还在上面的代码之后抛出了一个die()语句来验证它是否被击中。最后,我对整个代码库进行了深思熟虑,以验证代码中后面没有使用“display_errors”,覆盖了我的0值。

还有什么我可以遗漏的东西阻止我停止显示错误吗?

1 个答案:

答案 0 :(得分:0)

您应该在CodeIgniter源中搜索“set_error_handler”。看起来他们的错误处理程序尊重error_reporting设置而不是display_errors设置,这是一个常见的错误。另见:Does a custom PHP error handler respect PHP configuration?