PHP FPM+;nginx测井
从我在手册中读到的内容来看,带有PHP FPM+;nginx测井,php,nginx,logging,Php,Nginx,Logging,从我在手册中读到的内容来看,带有display\u errors=off和error\u log=/var/log/PHP.log的PHP和没有catch\u workers\u output=yes的worker应该向该PHP.log文件发送错误。我还知道nginx fastcgi应该将STDERR转储到/dev/null 然而,我发现我的站点的错误确实会反馈到nginx并记录到它的日志文件中,我想知道原因。 我在Debian 10上使用PHP7.3 nginx 1.14。nginx和php的
display\u errors=off
和error\u log=/var/log/PHP.log
的PHP和没有catch\u workers\u output=yes
的worker应该向该PHP.log文件发送错误。我还知道nginx fastcgi应该将STDERR转储到/dev/null
然而,我发现我的站点的错误确实会反馈到nginx并记录到它的日志文件中,我想知道原因。
我在Debian 10上使用PHP7.3 nginx 1.14。nginx和php的配置很复杂,但我可以从中提供关键信息
我的发现很有用
在我的FPM池配置中,我可以添加
[poolname]
user = pooluser
php_admin_value[error_log] = /var/log/fpm-php-$pool.log
如果/var/log/fpm php poolname.log
存在并且是rw
用于pooluser
,则此操作有效
但是,如果这些权限不正确,我希望在任何地方都不会出现错误,或者在更高级别上出现一些错误(例如,控制工作人员的php进程)。但是,它似乎又回到了将错误发送回nginx的方式——我在任何地方都找不到这种行为的记录
(有了这种经验性的理解,我现在明白了,因为pooluser
无法写入全局配置的error\u log
文件,所以它正在回退,错误正在nginx的错误日志中着陆。)
所以有两件事我不明白: