GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso scoprire perché il mio php5-fpm non è riuscito ad avviarsi?

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 esegui lsof -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 ]

Linux
  1. Come trovare un file in Linux

  2. Come faccio a scoprire quale processo ha un blocco su un file in Linux?

  3. Come posso trovare tutte le estensioni di file distinte in una gerarchia di cartelle?

  4. Come scoprire le terminazioni di riga in un file di testo?

  5. Dov'è il file di intestazione <conio.h> su Linux? Perché non riesco a trovare <conio.h>?

Come posso scoprire se un sistema Linux utilizza Wayland o X11?

Come posso cercare un file per nome e percorso parziale?

Come posso trovare il file più vecchio in un albero di directory

Come posso sapere quanto tempo ci è voluto per eseguire il mio lavoro di slurm?

Come posso scoprire dove si trova fisicamente un file sul disco (numeri di blocco)?

Come posso scoprire se il mio server ha IPMI di qualche tipo?