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