Soluzione 1:
Hai controllato il tuo error_log file per php-fpm ? La posizione di quel file dovrebbe essere dichiarata nel tuo php-fpm.conf (in Ubuntu la configurazione è /etc/php5/fpm/php-fpm.conf, il file di log è /var/log/php5-fpm/log), controlla anche il tuo log_level , se è disabilitato (;log_level), abilitalo e cambialo in debug . Successivamente prova a riavviare il servizio php5-fpm e controlla i tuoi log.
Puoi anche provare a eseguire php5-fpm in modalità in primo piano:
# php5-fpm -y /etc/php5/fpm/php-fpm.conf
Forse questo ti mostra qualcosa di interessante.
Soluzione 2:
Procedura standard di risoluzione dei problemi:
- Controlla il file di registro. Se non sai dove si trova controlla la configurazione o per capire con certezza trova il pid con
ps aux | grep php-fpm
, quindi eseguilsof -p $PID | grep log
(ometti il grep se non mostra nulla). - Il 99% dei file di registro del tempo ti mostrerà la causa. In caso contrario, cerca un livello di registrazione nella configurazione, aumentalo e riprova.
- Forse si chiude all'istante e non riesci a ottenere il PID per ispezionare il processo. Puoi anche provare ad avviare il processo in primo piano, ma questo significa capire quali opzioni della riga di comando devi usare. Di solito devi solo puntarlo alla tua configurazione esistente.
- Se né il file di log né lo stdout/stderr (output in primo piano) contengono alcun indizio, è tempo di strace... ma questo è un altro post.
Soluzione 3:
Questa nota mi ha aiutato:https://bugs.launchpad.net/nginx/+bug/1366651
Nel mio caso, aggiornando a nginx> 1.6.1 i parametri passati a php5-fpm si trovano in fastcgi.conf invece che in fastcgi_params, risultando in un PHP che restituisce sempre 200 (ok), ma mai alcun contenuto, perché il SCRIPT_FILENAME non era più impostato.
Spero che aiuti anche qualcun altro.
Soluzione 4:
Per me, il problema era il mio php-fpm.conf
file non utilizzava il nome file di configurazione predefinito:era denominato /etc/php5/fpm/php5-fpm.conf
( php5-fpm.conf
contro php-fpm.conf
)
php5-fpm -t
[26-Jul-2014 22:39:16] ERROR: failed to open configuration file '/etc/php5/fpm/php-fpm.conf': No such file or directory (2)
[26-Jul-2014 22:39:16] ERROR: failed to load configuration file '/etc/php5/fpm/php-fpm.conf'
[26-Jul-2014 22:39:16] ERROR: FPM initialization failed
Ho rinominato il file conf in php-fpm.conf
e questo ha risolto il problema.
sudo mv /etc/php5/fpm/php5-fpm.conf /etc/php5/fpm/php-fpm.conf
sudo service php5-fpm restart
* Restarting PHP5 FastCGI Process Manager php5-fpm [ OK ]