PHP显示错误=0不受尊重

PHP显示错误=0不受尊重,php,warnings,ini-set,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总是显示警告/错误,而不是在可写目录中创建日志。我知道上面的代码正在被点击,

我正在使用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_通知”部分并重新提交,我将看到大量通知。在上面的代码之后,我还抛出了一个die()语句来验证它是否被命中。最后,我对整个代码库进行了灰显,以验证代码后面没有使用“display_errors”,从而覆盖了我的值0


是否有其他我可能缺少的东西阻止我停止显示错误?

您应该在CodeIgniter源中搜索“set\u error\u handler”。看起来他们的错误处理程序尊重
错误报告
设置,但不尊重
显示错误
设置,这是一个常见错误。另请参见:

检查您的php.ini设置是否为
php\u ini\u USER
php\u ini\u ALL
。否则,您无法在脚本中更改它们。文档说明
ini\u set
的两个参数都必须是字符串,第二个参数是整数。我不知道这是否重要,但您可以尝试在0周围加引号。@migg我将把您的答案押在正确的轨道上,但在我的php.ini中找不到类似的内容。你知道它是什么属性吗?@kba不幸的是,我尝试了所有的变体。不过,我还是很感激你的建议。我实际上认为这是CodeIgniter特有的。网站上的一些评论指出了我遇到的同一个问题——CodeIgniter忽略了php_ini设置。不确定它是如何做到的,但显然它做到了。:)