Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何阻止PHP记录PHP通知错误_Php_Logging - Fatal编程技术网

如何阻止PHP记录PHP通知错误

如何阻止PHP记录PHP通知错误,php,logging,Php,Logging,我试图不记录通知错误,这些错误正在写入服务器上的错误日志文件。我尝试过(在我的index.php顶部): 但我仍然在上述错误日志文件中发现PHP注意错误 我在共享托管环境中,因此无法编辑我的php.ini文件 phpinfo()告诉我: - Version 5.2.12 - error_reporting 6143 - error_log error_log - safe_mode Off 您可以将错误报告级别更改为其他级别 错误报告(E|U错误| E|U警告| E|U解析) 有关更多信息,请

我试图不记录通知错误,这些错误正在写入服务器上的错误日志文件。我尝试过(在我的
index.php
顶部):

但我仍然在上述错误日志文件中发现PHP注意错误

我在共享托管环境中,因此无法编辑我的
php.ini
文件

phpinfo()
告诉我:

- Version 5.2.12
- error_reporting 6143
- error_log error_log
- safe_mode Off

您可以将错误报告级别更改为其他级别

错误报告(E|U错误| E|U警告| E|U解析)

有关更多信息,请参见尝试执行:

error_reporting(E_ALL & ~E_NOTICE);
error\u reporting()
指令将始终有效(
PHP\u INI\u ALL

您确定没有包含任何更改错误报告级别的库吗


Do
错误报告(0)然后执行以下操作:

var_dump(error_reporting());

输出是什么?

如果您在Apache服务器上,请尝试在.htaccess文件中设置该值。一般格式为:

php_flag  log_errors on
php_value error_log  /path/to/error.log
php_value error_reporting integer
其中,
integer
是通过运行以下操作获得的值:

echo E_ALL & ~E_NOTICE; // prints 30711
更多信息请点击此处:


您的日志中是否有通知或“用户”通知

要禁用这两个选项,请使用:

error_reporting(E_ALL & ~E_NOTICE & ~E_USER_NOTICE);

我也试过了,包括你的变体-仍然被记录。在php.ini中有没有办法使ini_set()和error_reporting()不起作用?我在整个项目中搜索了“error_reporting”,它只在index.php文件中显示了一个点击,这就是我添加的error_reporting。“set\u error\u handler”也没有出现。@magenta:no
ini\u set()
other?var\u dump outputs int(6135),它是E\u ALL&~E\u NOTICEThere是另外两个ini\u集,但是他们从6135设置sendmail\u=
E\u可恢复的\u错误
+
E\u用户通知
+
E\u用户警告
+
E\u用户错误
+
E\u编译警告
+
E\u核心警告
+
E\u核心错误
+
+
E\u分析
。没有
E_通知
在那里。与其闭眼不看,不如纠正通知的原因?它们不会无缘无故地出现。这些通知的原因并不总是你可以控制的,例如,我在使用WordPress,有几个通知来自核心。想要抑制非致命错误是合法的。在日志中显示为“PHP通知”,我相信这两个都是作为“PHP通知”记录的。您可以在phpcode中搜索“触发器错误”或E_用户通知。当心!不同PHP版本的代码(如30711)可能不同。最好检查服务器本身的回显,然后应用配置
error_reporting(E_ALL & ~E_NOTICE & ~E_USER_NOTICE);