如何告诉 php-fpm 将 php 错误日志发送到 nginx 错误日志?

How*_*ard 1 php nginx php-fpm

当我使用 apache/mod_php 时,PHP 错误会出现在 apache 的错误日志中。

现在,我通过 fcgi 将 php-fpm 与 nginx 一起使用,是否有可能在 nginx 错误日志中也有 PHP 错误日志?

到目前为止,唯一的解决方案是使用 php.ini 中定义的外部文件

error_log = /tmp/php_errors.log
Run Code Online (Sandbox Code Playgroud)

但为了便于维护,我希望它们在 nginx 错误日志中。

Mic*_*ton 6

您需要进行两项更改:

  1. 取消设置PHP的error_log指令自php.ini。这将导致它记录到标准错误,然后 nginx 将记录到它自己的错误日志中。
  2. 设置catch_workers_output = yes在你的PHP-FPM的配置php-fpm.conf,以确保FPM SAPI不丢弃标准错误。