在syslog中禁用centos 5.6的警告/通知

时间:2013-05-23 07:40:46

标签: php error-logging

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

error_reporting = E_COMPILE_ERROR|E_ERROR

我也运行了php.ini,它告诉我我的php.ini在/etc/php.ini,所以我假设我正在编辑正确的文件。现在我重新启动httpd,但我仍然在我的/var/log/messages文件中看到由syslog编写的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

2 个答案:

答案 0 :(得分:0)

<?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);

?>

答案 1 :(得分:0)

也许在你的php文件中尝试这一行?

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