GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich herausfinden, warum mein php5-fpm nicht gestartet werden konnte?

Lösung 1:

Haben Sie Ihr error_log überprüft? Datei für php-fpm ? Der Speicherort dieser Datei sollte in Ihrer php-fpm.conf deklariert werden (in der Ubuntu-Konfiguration ist /etc/php5/fpm/php-fpm.conf, die Protokolldatei ist /var/log/php5-fpm/log), überprüfen Sie auch Ihr log_level , wenn es deaktiviert ist (;log_level), aktivieren Sie es bitte und ändern Sie es auf debug . Versuchen Sie danach, den php5-fpm-Dienst neu zu starten, und überprüfen Sie Ihre Protokolle.

Sie können auch versuchen, php5-fpm im Vordergrundmodus auszuführen:

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

Vielleicht zeigt Ihnen das etwas Interessantes.

Lösung 2:

Standardverfahren zur Fehlerbehebung:

  • Überprüfen Sie die Protokolldatei. Wenn Sie nicht wissen, wo es ist, überprüfen Sie die Konfiguration oder finden Sie die PID mit ps aux | grep php-fpm, um es sicher herauszufinden , dann lsof -p $PID | grep log (lass das grep weg, wenn es nichts anzeigt).
  • In 99 % der Fälle zeigen Ihnen Protokolldateien die Ursache. Wenn nicht, suchen Sie in der Konfiguration nach einem Logging-Level, erhöhen Sie es und versuchen Sie es erneut.
  • Vielleicht wird es sofort beendet und Sie können die PID nicht dazu bringen, den Prozess zu inspizieren. Sie können auch versuchen, den Prozess im Vordergrund zu starten, aber das bedeutet, herauszufinden, welche Befehlszeilenschalter Sie verwenden müssen. Normalerweise müssen Sie es nur auf Ihre vorhandene Konfiguration verweisen.
  • Wenn weder die Protokolldatei noch stdout/stderr (Vordergrundausgabe) irgendwelche Hinweise enthalten, ist es Zeit für strace... aber das ist ein anderer Beitrag.

Lösung 3:

Dieser Hinweis hat mir geholfen:https://bugs.launchpad.net/nginx/+bug/1366651

In meinem Fall befinden sich beim Aktualisieren auf nginx> 1.6.1 die Parameter, die an php5-fpm übergeben werden, in fastcgi.conf statt in fastcgi_params, was zu einem PHP führt, das immer 200 (ok) zurückgibt, aber niemals Inhalt, weil die SCRIPT_FILENAME wurde nicht mehr gesetzt.

Ich hoffe, es hilft auch jemand anderem.

Lösung 4:

Bei mir war das Problem meine php-fpm.conf Die Datei verwendete nicht den standardmäßigen Konfigurationsdateinamen - sie hieß /etc/php5/fpm/php5-fpm.conf ( php5-fpm.conf gegenüber 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

Ich habe die conf-Datei in php-fpm.conf umbenannt und das hat das Problem behoben.

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. Wie finde ich heraus, welcher Prozess eine Datei in Linux gesperrt hat?

  2. Wie finde ich den MIME-Typ (Content-Type) einer Datei heraus?

  3. So finden Sie heraus, welche Versionen eines Pakets ich auf APT installieren kann

  4. Wie finde ich die älteste Datei in einem Verzeichnisbaum?

  5. Wie kann ich herausfinden, wie lange die Ausführung meines Slurm-Jobs gedauert hat?

Wo ist die Header-Datei <conio.h> unter Linux? Warum kann ich <conio.h> nicht finden?

Wie finden Sie heraus, welcher Prozess eine Datei in Linux verwendet?

Wie kann ich herausfinden, ob ein Linux-System Wayland oder X11 verwendet?

Wie kann ich eine Datei anhand ihres Namens und Teilpfads suchen?

So finden Sie heraus, welche Datei sich in einem bestimmten Sektor befindet

Wie kann ich herausfinden, wo sich eine Datei physisch auf der Festplatte befindet (Blocknummern)?