Come configurare PHP-FPM su NGINX per scrivere nei file di registro per host virtuale


11

Ho Fedora 16 con Nginx e PHP-FPM. Tutto funziona molto bene. Tutti i registri con avvisi, avvisi, errori PHP ecc. Sono presenti /var/log/php-fpm/www-error.log.

Esiste un modo per configurare PHP-FPM per scrivere errori nei file di registro corretti configurati come registri errori per Nginx? Quindi voglio registrare gli errori PHP per virtualhost e non in un file globale. (come in Apache Httpd e PHP).

Risposte:


14

La direttiva PHP-FPM: catch_workers_output = yes causerà gli errori che PHP invia a stdout / stderr verranno rinviati a nginx e verranno registrati.

In PHP 5.2.4 e versioni successive, la direttiva display_errors non è più un valore booleano, ma accetterà "stderr" come opzione. Questo dovrebbe far tornare tutti gli errori su nginx ed essere registrati per vhost.

Quindi nella tua configurazione di PHP-FPM:

php_admin_value[display_errors] = 'stderr'

L'altra opzione è la direttiva:

php_admin_value[error_log] = /var/log/fpm-php.www.log

che è quello che probabilmente stai usando ora. php-fpm.conf supporta alcune variabili, come $ pool (che probabilmente restituirà 'www').

Se hai più di un pool, puoi facilmente registrarli separatamente.

Da una rapida navigazione nel codice sorgente, sembra che $ pool sia l'unica variabile del genere.


1
Hmm, sembra esserci qualche problema condisplay_errors="stderr" . L'hai provato per funzionare?
Pacerier,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.