0

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

error_reporting = E_COMPILE_ERROR|E_ERROR

我还运行了 php.ini,它显示我的 php.ini 位于/etc/php.ini,所以我假设我正在编辑正确的文件。现在我重新启动我的httpd,但我仍然看到我的 php 警告和通知/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
4

2 回答 2

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

?>
于 2013-05-23T07:46:17.933 回答
0

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

ini_set('error_reporting', E_ALL & ~E_DEPRECATED & ~E_NOTICE);
于 2013-05-23T07:49:02.167 回答