Zum Hauptinhalt springen

PHP-FPM-Protokollierung

Grundmodell von PHP-FPM

  • Master-Prozess — verwaltet den PHP-FPM-Pool und führt das zentrale error_log.
  • Worker-Prozesse — verarbeiten Passwork-FastCGI-Anfragen und erzeugen PHP-Fehler oder -Warnungen.

catch_workers_output

Leitet die Worker-Ausgabe (stdout und stderr) an den Stream des Master-Prozesses oder an eine Logdatei um. Das Ziel wird über den Parameter error_log in der Konfigurationsdatei php-fpm.conf festgelegt.

Mögliche Werte:

  • yesstdout und stderr des Workers werden an den in error_log definierten Stream oder die Datei umgeleitet;
  • no (Standard) — die Worker-Ausgabe wird nach /dev/null umgeleitet (gemäß FastCGI-Spezifikation).

Diese Einstellung wird häufig in containerisierten Umgebungen verwendet, um Ereignisse über stdout/stderr mittels error_log zu erfassen und weiterzuleiten.

error_log

Der Wert des Parameters error_log (in php-fpm.conf) legt fest, wohin PHP-FPM Protokolle schreibt:

  • Datei (zum Beispiel /var/log/php-fpm.log);
  • syslog zur Weiterleitung an syslogd;
  • Stream (zum Beispiel /dev/stderr).

Wenn error_log auf einen Stream zeigt (zum Beispiel /dev/stderr oder /proc/self/fd/2), wird die erfasste Worker-Ausgabe ebenfalls in den Container-Logstream geschrieben.

Aktionsverlauf in Passwork

Für den Aktionsverlauf legt der Parameter ACTIVITY_LOG_OUTPUT den Ausgabekanal fest:

  • syslog — schreibt Aktionsereignisse über syslog;
  • stdout — schreibt Aktionsereignisse in den PHP-FPM-Stream.