我正在尝试不记录通知错误,这些错误被写入我服务器上的错误日志文件。我试过了(在index.php
的顶部):
ini_set('display_errors', 0);
error_reporting(E_ALL ^ E_NOTICE);
但我仍然在所述错误日志文件中收到PHP通知错误。
我在共享托管环境中,因此无法编辑php.ini
文件。
phpinfo()
告诉我:
- Version 5.2.12
- error_reporting 6143
- error_log error_log
- safe_mode Off
答案 0 :(得分:8)
如果您在Apache服务器上,请尝试在.htaccess文件中设置该值。一般格式为:
php_flag log_errors on
php_value error_log /path/to/error.log
php_value error_reporting integer
其中integer
是您通过运行以下内容获得的值:
echo E_ALL & ~E_NOTICE; // prints 30711
更多信息:
http://perishablepress.com/press/2008/01/14/advanced-php-error-handling-via-htaccess/
答案 1 :(得分:2)
尝试做:
error_reporting(E_ALL & ~E_NOTICE);
error_reporting()
指令始终有效(PHP_INI_ALL
)。
您确定不包含任何更改错误报告级别的库吗?
执行error_reporting(0);
然后执行此操作:
var_dump(error_reporting());
输出是什么?
答案 2 :(得分:1)
您是否在日志中收到了通知或“用户”通知?
禁用两者:
error_reporting(E_ALL & ~E_NOTICE & ~E_USER_NOTICE);
答案 3 :(得分:0)
您可以将错误报告级别更改为不同的
error_reporting(E_ERROR | E_WARNING | E_PARSE);
有关详细信息,请参阅http://www.php.net/manual/en/function.error-reporting.php