PHP-FPM有专用的错误日志文件


PHP-FPM with dedicated error log file

我已经设置了一个Apache2/PHP-FPM站点,并希望PHP-FPM的错误被记录到它自己的错误日志文件中。但是,在当前配置中,错误以以下格式被记录到/var/log/php5-fpm.log中:

WARNING: [pool www] child 22926 said into stderr: "NOTICE: PHP message: PHP Parse error:  syntax error, unexpected 'if' (T_IF) in /var/www/site.com/error.php on line 1"

在我的/etc/php5/fpm/pool.d/www.conf中,我有以下选项:

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

当我禁用catch_workers_output时,错误记录完全停止。但是,在phpinfo()输出中,它显示了我在配置中指定的日志文件。

为什么PHP5-FPM不尊重这个日志文件。是否有任何方法将fpm池的错误记录在单独的文件中?

My php version:

# php5-fpm  -v
PHP 5.4.9-4~precise+1 (fpm-fcgi) (built: Nov 30 2012 10:48:01)

感谢您提供的信息!

您将在FPM主配置中发现error_log =/var/log/php-fpm.log。根据您的示例,您正在池配置中设置此设置,该配置仅适用于特定的池/域。