禁用centos5.6系统日志中的警告/通知


disabling warnings/notices in syslog for centos 5.6

我正在尝试禁用将php生成的通知和警告记录到syslog中。以下是php.ini中的一些行。

error_reporting = E_COMPILE_ERROR|E_ERROR

我还运行了php.ini,它显示我的php.ini在/etc/php.ini中,所以我假设我正在编辑正确的文件。现在我重新启动了httpd,但在由syslog编写的/var/log/messages文件中仍然看到php警告和注意事项。

我在揪头发,因为我不知道是什么原因导致了这个非常直接的问题

同样在我的httpd.conf中,我有:

LogLevel error

此外,当我运行php-i|grep错误时,我得到以下输出:

[root@xx-xx-xx-xx ~]# php -i | grep error
display_errors => Off => Off
display_startup_errors => Off => Off
error_append_string => no value => no value
error_log => /var/log/error_log => /var/log/error_log
error_prepend_string => no value => no value
**error_reporting => 4177 => 4177**
html_errors => Off => Off
ignore_repeated_errors => Off => Off
log_errors => On => On
log_errors_max_len => 1024 => 1024
track_errors => Off => Off
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
<?php
// Turn off all error reporting
error_reporting(0);
?>

该功能的其他有趣选项:

<?php
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);
// Report all PHP errors (see changelog)
error_reporting(E_ALL);
// Report all PHP errors
error_reporting(-1);
// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
?>

也许可以在php文件中尝试这一行?

ini_set('error_reporting', E_ALL & ~E_DEPRECATED & ~E_NOTICE);