使用带有 php-fpm 的 nginx,如何关闭 nginx 错误日志中的 php 警告?

使用带有 php-fpm 的 nginx,如何关闭 nginx 错误日志中的 php 警告?

我正在使用 php-fpm 和 php 5.3.3 运行 nginx。我的 php.ini 配置中有

error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR

这应该可以关闭错误日志中的所有 php 警告,但我仍然收到这些警告。我该如何摆脱它们?

答案1

我相信您需要修改池并添加以下内容:

php_admin_value[error_reporting] = E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED

并重新加载FPM

sudo service php5.5-fpm restart

替换为您所使用的任何版本。

答案2

编辑您的 php-fpm 池配置以指定要登录的备用路径。

例如:您可以编辑/etc/php-fpm.d/www.conf并添加类似以下内容:

php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on

或者您可以关闭注销功能,但这是一个非常糟糕的主意。

答案3

该设置应该可以起作用。

php-fpm不仅需要重新启动nginx
此外,还有各种启动(/etc/init.d/)脚本可以kill在停止时执行正确的工作php-fpm

尝试

  ps -ef | grep php

获取可执行文件名称(如php5-fpm)。然后

  killall php5-fpm

(或者您的名字)。

然后再次启动 php-fpm。

编辑2016在大多数现代 unix 系统上

# service php-fpm reload

是重新加载配置的正确方法(A.Gibbs 的评论)

答案4

php_flag[display_errors] = off 对我来说不起作用

就我而言

php_admin_value[display_errors] = off

相关内容