Marty Wallace
La documentación en el sitio web de php fpm dice que php fpm es parte de coe php a partir de 5.3.3
Estoy ejecutando 5.3.10, ¿cómo puedo comprobar que funciona correctamente? Pensé que era un servicio que se ejecutaba en un puerto.
Suponiendo que está en Linux, verifique si php-fpm se está ejecutando buscando en la lista de procesos:
ps aux | grep php-fpm
Si se ejecuta a través de IP (a diferencia de un socket de Unix), también puede verificar el puerto:
netstat -an | grep :9000
O usando nmap:
nmap localhost -p 9000
Por último, he leído que puede solicitar el estado, pero en mi experiencia esto ha resultado poco confiable:
/etc/init.d/php5-fpm status
-
¿PHPINFO() te avisa? Puedo ver que php-fpm se está ejecutando, pero no estoy convencido de que esté configurado correctamente porque phpinfo() aún muestra mod_php7 y mod_fastcgi. ¿Es posible que ambos estén corriendo?
– Adam Patterson
21 de febrero de 2017 a las 17:44
prosti
Para php7.0-fpm llamo:
service php7.0-fpm status
php7.0-fpm inicio/ejecutando, proceso 25993
Ahora mira por la parte buena. El nombre del proceso es en realidad php-fpm7.0
echo `/bin/pidof php-fpm7.0`
26334 26297 26286 26285 26282
jason
Así es como puede hacerlo con un socket en php-fpm 7
install socat
apt-get install socat
#!/bin/sh
if echo /dev/null | socat UNIX:/var/run/php/php7.0-fpm.sock - ; then
echo "$home/run/php-fpm.sock connect OK"
else
echo "$home/run/php-fpm.sock connect ERROR"
fi
También puede verificar si el servicio se está ejecutando de esta manera.
service php7.0-fpm status | grep running
regresará
Activo: activo (en ejecución) desde el dom 2017-04-09 12:48:09 PDT; hace 48s
bitkahuna
en caso de que ayude a alguien, en amilinux, con php5.6 y php-fpm instalados, es:
sudo /etc/init.d/php-fpm-5.6 status
PHP-FPM es un servicio que genera nuevos procesos PHP cuando es necesario, generalmente a través de un módulo cgi rápido como nginx. Puede saber (con un margen de error) simplemente revisando el script init.d, por ejemplo, “sudo /etc/init.d/php-fpm status”
El puerto o socket de archivos Unix que se utilice depende de la configuración, pero a menudo es solo el puerto TCP 9000, es decir, 127.0.0.1:9000.
La mejor manera de saber si se está ejecutando correctamente es tener nginx en ejecución y configurar un host virtual que pase cgi rápidamente a PHP-FPM, y simplemente verificarlo con wget o un navegador.
El script bash para el reinicio automático de php-fpm:
#!/bin/bash
is_running=`service php7.4-fpm status | grep running`
if [[ ! $is_running ]]
then
echo 'php7.4-fpm is running'
else
echo 'php7.4-fpm is not running';
fi
Configuración de cron para la comprobación cada 5 minutos (/root/check_php7.4_status.sh
– ruta al script bash):
*/5 * * * * /root/check_php7.4_status.sh 2>&1 >> '/root/check_php7.4_status.log'