Wie überprüfe ich, ob PHP-FPM richtig läuft?

Lesezeit: 2 Minuten

Benutzeravatar von Marty Wallace
Martin Wallace

Die Dokumentation auf der php fpm-Website besagt, dass php fpm seit 5.3.3 Teil von coe php ist

Ich verwende 5.3.10, wie kann ich überprüfen, ob es richtig funktioniert? Ich dachte, es wäre ein Dienst, der auf einem Port lief?

Angenommen, Sie verwenden Linux, überprüfen Sie, ob php-fpm ausgeführt wird, indem Sie die Prozessliste durchsuchen:

ps aux | grep php-fpm

Wenn Sie über IP (im Gegensatz zu Unix-Socket) laufen, können Sie auch nach dem Port suchen:

netstat -an | grep :9000

Oder mit nmap:

nmap localhost -p 9000

Schließlich habe ich gelesen, dass Sie den Status anfordern können, aber meiner Erfahrung nach hat sich dies als unzuverlässig erwiesen:

/etc/init.d/php5-fpm status

  • Lässt phpinfo() Sie wissen? Ich kann sehen, dass php-fpm läuft, aber ich bin nicht überzeugt, dass es richtig konfiguriert ist, weil phpinfo() immer noch mod_php7 sowie mod_fastcgi anzeigt. Kann es sein, dass beide laufen?

    – Adam Patterson

    21. Februar 2017 um 17:44 Uhr

Benutzeravatar von prosti
Prosti

Für php7.0-fpm rufe ich auf:

service php7.0-fpm status

php7.0-fpm starten/laufen, Prozess 25993

Achten Sie jetzt auf den guten Teil. Der Prozessname ist eigentlich php-fpm7.0

echo `/bin/pidof php-fpm7.0`

26334 26297 26286 26285 26282

Benutzeravatar von Jason
Jason

So können Sie dies mit einem Socket auf php-fpm 7 tun

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

Sie können auch überprüfen, ob der Dienst so ausgeführt wird.

service php7.0-fpm status | grep running

Es wird zurückkehren

Aktiv: aktiv (laufend) seit So 2017-04-09 12:48:09 PDT; Vor 48 Sekunden

Benutzeravatar von bitkahuna
bitkahuna

Falls es jemandem auf Amilinux mit installiertem php5.6 und php-fpm hilft, ist es:

sudo /etc/init.d/php-fpm-5.6 status

PHP-FPM ist ein Dienst, der bei Bedarf neue PHP-Prozesse erzeugt, normalerweise über ein Fast-CGI-Modul wie nginx. Sie können dies (mit einer gewissen Fehlerquote) feststellen, indem Sie einfach das init.d-Skript überprüfen, z. B. “sudo /etc/init.d/php-fpm status”.

Welcher Port oder Unix-Datei-Socket verwendet wird, hängt von der Konfiguration ab, ist aber oft nur TCP-Port 9000, dh 127.0.0.1:9000

Der beste Weg, um festzustellen, ob es richtig läuft, besteht darin, nginx laufen zu lassen und einen virtuellen Host einzurichten, der Fast-CGI an PHP-FPM weitergibt, und es einfach mit wget oder einem Browser zu überprüfen.

Das Bash-Skript für den automatischen Neustart von 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

Cron-Konfiguration für die Überprüfung alle 5 Minuten (/root/check_php7.4_status.sh – Pfad zum Bash-Skript):

*/5 * * * * /root/check_php7.4_status.sh 2>&1 >> '/root/check_php7.4_status.log'

1440890cookie-checkWie überprüfe ich, ob PHP-FPM richtig läuft?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy