Skonfigurowałem witrynę Apache2/PHP-FPM i chciałbym, aby błędy PHP-FPM były logowane do własnego pliku dziennika błędów. Jednak przy obecnej konfiguracji, błędy są rejestrowane /var/log/php5-fpm.log w następującym formacie:PHP-FPM z dedykowanym plikiem dziennika błędów
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"
W moim /etc/php5/fpm/pool.d/www. conf mam następujące opcje:
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
catch_workers_output = yes
Kiedy wyłączyć catch_workers_output
, rejestrowanie błędu ustaje całkowicie. Jednak w wyjściu phpinfo() pokazuje on plik logu, który określam w konfiguracji.
Dlaczego PHP5-FPM nie przestrzega tego pliku dziennika. Czy istnieje sposób na błędy w puli fpm zalogowany w oddzielnym pliku?
Moja wersja php:
# php5-fpm -v
PHP 5.4.9-4~precise+1 (fpm-fcgi) (built: Nov 30 2012 10:48:01)
Dziękuję za wszelkie informacje!
Każda witryna powinna mieć swój własny dziennik błędów. Dlaczego po prostu nie apache rejestrowanie błędów dla każdej domeny/witryny i error_log w php dla każdej domeny/witryny? –
Istnieje dziennik błędów Apache, który uzyskuje wyjście błędów FastCGI z PHP. Jednak PHP nie będzie logowało się do tego, co jest raportowane w wyjściu phpinfo() dla error_log - plik, który wyświetla nie jest tworzony. (Domyślnie, /var/log/fpm-php.www.log) – Dan