我已经设置了一个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。根据您的示例,您正在池配置中设置此设置,该配置仅适用于特定的池/域。