Директива PHP-FPM: catch_workers_output = yes
вызовет ошибки, которые PHP отправляет в stdout / stderr для отправки обратно в nginx, и они будут зарегистрированы.
В PHP 5.2.4 и новее директива display_errors больше не является логическим значением, но будет принимать 'stderr' в качестве опции. Это должно привести к тому, что все ошибки вернутся к nginx и будут зарегистрированы для каждого vhost.
Итак, в вашей конфигурации 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"
. Вы проверяли это, чтобы работать?