Answers:
PHP-FPM指令:catch_workers_output = yes
将导致PHP发送到stdout / stderr的错误被发送回nginx,并将被记录下来。
在PHP 5.2.4和更高版本中,伪指令display_errors不再是布尔值,而是可以接受'stderr'作为选项。这将导致所有错误返回到nginx,并针对每个虚拟主机进行记录。
因此,在您的PHP-FPM配置中:
php_admin_value[display_errors] = 'stderr'
您的另一个选择是指令:
php_admin_value[error_log] = /var/log/fpm-php.www.log
这就是您现在可能使用的。php-fpm.conf支持一些变量,例如$ pool(对您而言,可能会返回“ www”)。
如果您有多个池,则可以轻松地分别记录它们。
通过快速浏览源代码,看起来$ pool是唯一的此类变量。
display_errors="stderr"
。您测试过了吗?