我正在尝试禁用由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
答案 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);