4

我正在使用 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() 语句来验证它是否被命中。最后,我对整个代码库进行了 grep,以验证代码后面没有使用“display_errors”,覆盖了我的值 0。

还有什么我可能会丢失的东西阻止我停止显示错误吗?

4

1 回答 1

0

您应该在 CodeIgniter 源中搜索“set_error_handler”。看起来他们的错误处理程序尊重error_reporting设置而不是display_errors设置,这是一个常见的错误。另请参阅:自定义 PHP 错误处理程序是否尊重 PHP 配置?

于 2013-02-12T08:12:53.953 回答