¿Cómo puedo averiguar por qué mi php5-fpm no pudo iniciarse?

10

obtengo el tiempo de espera de la puerta de enlace 504 cuando intento llegar a mi servidor, una pequeña comprobación no encontró ningún registro en los registros de php5-fpm, pero solo para asegurarme, intenté reiniciarlo. cuando intento reiniciarlo:

sudo service php5-fpm restart

lo consigo [fail] pero cuando lo hago

sudo service php5-fpm stop
sudo service php5-fpm start

No recibo ningún error.

¿Cómo puedo investigarlo si no hay registros? ¿que puedo hacer?

Liad Livnat
fuente

Respuestas:

17

¿ Revisó su archivo error_log para php-fpm ? La ubicación de ese archivo debe declararse en su php-fpm.conf (en la configuración de Ubuntu es /etc/php5/fpm/php-fpm.conf, el archivo de registro es / var / log / php5-fpm / log), también verifique su log_level , si está deshabilitado (; log_level), habilítelo y cámbielo a la depuración . Después de eso, intente reiniciar el servicio php5-fpm y verifique sus registros.

También puede intentar ejecutar php5-fpm en modo de primer plano:

# php5-fpm -y /etc/php5/fpm/php-fpm.conf

Quizás esto te muestre algo interesante.

atascado
fuente
1
En mi caso, este comando inició php5-fpm mientras service php5-fpm startque no. ¡Gracias!
David Thomas
Davis, ¡parece funcionar para mí +1! Pero ... jamzed me dio la solución, ¡encontré un error +1! ¡gracias a todos!
Tenaciousd93
Si inicia FPM utilizando un trabajo de inicio, los registros de inicio de php-fpm se escribirán en / var / log / upstart /
Ashwin Date
Para el uso de php7.0php-fpm7.0 -F -c /etc/php/7.0/fpm/php-fpm.conf
Yadvendar
4

Procedimiento estándar de solución de problemas:

  • Verifique el archivo de registro. Si no sabe dónde está, verifique la configuración o descubra con certeza cómo encontrar el pid con ps aux | grep php-fpm, luego haga lsof -p $PID | grep log(omita el grep si no muestra nada).
  • El 99% de las veces los archivos de registro le mostrarán la causa. De lo contrario, busque un nivel de registro en la configuración, súbalo e intente nuevamente.
  • Tal vez se cierra instantáneamente y no puede obtener el PID para inspeccionar el proceso. También puede intentar iniciar el proceso en primer plano, pero esto significa averiguar qué modificadores de línea de comandos debe usar. Por lo general, solo necesita apuntarlo a su configuración existente.
  • Si ni el archivo de registro o stdout / stderr (salida en primer plano) contienen alguna pista, es hora de strace ... pero esa es otra publicación.
Alex Forbes
fuente
¡+1 buena manera de encontrar el archivo de registro!
deweydb
3

Esta nota me ayudó: https://bugs.launchpad.net/nginx/+bug/1366651

En mi caso, actualizando a nginx> 1.6.1 los parámetros que se pasan a php5-fpm se encuentran en fastcgi.conf en lugar de en fastcgi_params, lo que resulta en un PHP que siempre devuelve 200 (ok), pero nunca ningún contenido, porque el SCRIPT_FILENAME ya no se configuró.

Espero que también ayude a alguien más.

Sebastiaan van Doorn
fuente
2

Para mí, el problema era que mi php-fpm.confarchivo no estaba usando el nombre de archivo de configuración predeterminado: se llamaba /etc/php5/fpm/php5-fpm.conf( php5-fpm.confvs 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

Cambié el nombre del archivo conf a php-fpm.confy eso solucionó el 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 ]
David Thomas
fuente
0

Experimenté este problema de no tener archivos de registro y luego noté que estaba accediendo a la URL a través de HTTPS en lugar de HTTP y que el protocolo no se había configurado en Nginx, por lo que PHP5-FPM no estaba recibiendo el tráfico.

Podría ayudar a alguien.

Dave Hilditch
fuente
0

Puede suceder que en una actualización de Ubuntu el paquete php5-fpm se desinstale porque php 7 usa php-fpm en su lugar. intente ejecutar esto en la consola:

php5-fpm

Si no existe, probablemente ya use php 7, así que instale

apt-get install php-fpm

que instalará la versión php7

rubo77
fuente