PHP-FPM如何禁止通知日志级别并仍然捕获警告日志/etc/php-fpm.conf

时间:2015-02-07 17:01:42

标签: configuration php

我无法弄清楚如何在php-fpm中抑制通知级日志事件,如下所示:

[07-Feb-2015 10:06:48] NOTICE: [pool www] child 19591 exited with code 0 after 52040.698062 seconds from start
[07-Feb-2015 10:06:49] NOTICE: [pool www] child 17234 started
[07-Feb-2015 10:06:50] NOTICE: [pool www] child 19822 exited with code 0 after 52014.845635 seconds from start
[07-Feb-2015 10:06:50] NOTICE: [pool www] child 17261 started
[07-Feb-2015 10:07:33] NOTICE: [pool www] child 17784 exited with code 0 after 52246.014015 seconds from start

同时仍然捕获类型为警告的日志事件,例如由php中的error_log()函数创建。记录以下事件:

 [07-Feb-2015 11:46:44] WARNING: [pool www] child 32465 said into stderr: "NOTICE: PHP message: Array"
 [07-Feb-2015 11:46:44] WARNING: [pool www] child 32465 said into stderr: "("
 [07-Feb-2015 11:46:44] WARNING: [pool www] child 32465 said into stderr: "     [6] => 363"
 [07-Feb-2015 11:46:44] WARNING: [pool www] child 32465 said into stderr: ")"
 [07-Feb-2015 11:46:44] WARNING: [pool www] child 32465 said into stderr: ""

来自php.net,它声明变量log_level接受以下字符串类型以调整捕获的日志记录级别:

错误日志级别。可能的值:警报,错误,警告,通知,调试。默认值:通知。

http://php.net/manual/en/install.fpm.configuration.php

因此,在我的/etc/php-fpm.conf文件中,我自然将配置值设置为: log_level:警告和服务重启。然后我得到上述的日志事件。

我无法找到文档指示每个log_level选项的作用的任何地方,而且除了通知之外的其他任何内容似乎都会抑制所有内容。

这是在centOS机器上使用php-fpm 5.4或5.5。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我通过更改相应的php.ini中的error_reporting来删除通知。

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE

这意味着:报告所有错误,但弃用,严格和通知类型。

日志级别似乎是错误的调整位置。