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