2013-01-15 10 views
5

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!

+0

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? –

+0

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

Odpowiedz

5

Znajdziesz error_log = /var/log/php-fpm.log w głównej konfiguracji FPM. Na podstawie Twojego przykładu ustawiasz to w konfiguracji puli, która będzie działać tylko dla tej konkretnej puli/domeny.

+0

Dziękujemy! Przeczytam więcej w pulach FPM. Ciągle jest to dziwne, że phpInfo() zgłasza, że ​​używam ustawień zdefiniowanych w tej puli .. – Dan

+0

Nie zapomnij, że zawsze możesz znaleźć dodatkową pomoc w kanale IRC FreeNode # php-fpm – Diemuzi

Powiązane problemy