我正在使用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值。
还有什么我可以遗漏的东西阻止我停止显示错误吗?
答案 0 :(得分:0)
您应该在CodeIgniter源中搜索“set_error_handler”。看起来他们的错误处理程序尊重error_reporting
设置而不是display_errors
设置,这是一个常见的错误。另见:Does a custom PHP error handler respect PHP configuration?