Mit FPM sind mehrere Pools an Prozessen mit unterschiedlichen Einstellungen lauffähig.
Nachfolgend finden Sie die Einstellungen die pro Pool verändert werden können.
-
listen
string
-
Die Adresse, unter welcher FastCGI-Anfragen angenommen werden. Gültig ist die Syntax:
'ip.add.re.ss:port', 'port', '/path/to/unix/socket'. Diese Einstellunge ist für
jeden Pool zwingend notwendig.
-
listen.backlog
int
-
Setzt listen(2) backlog. Der Wert '-1' meint unbegrenzt. Standardwert:
-1.
-
listen.allowed_clients
string
-
Liste mit IPv4 Adressen von FastCGI Clients, denen eine Verbindung gestattet ist.
Gleichzusetzen mit der FCGI_WEB_SERVER_ADDRS Umgebungsvariable im originalen PHP
FastCGI (5.2.2+). Macht nur Sinn mit einem empfangenden TCP Socket.
Die Adressen sind durch Komma zu trennen. Wenn der Wert leer gelassen wird,
dann werden Verbindungen von beliebigen IP Adressen akzeptiert. Standardwert: any.
IPv6 Adressen sind seit PHP 5.5.20 und 5.6.4 erlaubt.
-
listen.owner
string
-
Setzt die Rechte für den Unix Socket, falls dieser verwendet wird. Unter Linux
müssen Lese- und Schreibrechte gesetzt werden, um Verbindungen eines Webservers zu
erlauben. Viele BSD-Derivate erlauben Verbindungen unabhängig von den Rechteeinstellungen.
Standardwert: user und group werden auf den aktuellen User gesetzt und Mode auf 0660.
-
listen.group
string
-
Siehe listen.owner
.
-
listen.mode
string
-
Siehe listen.owner
.
-
listen.acl_users
string
-
Wenn POSIX Zugriffskontrolllisten unterstützt werden, können Sie diese mit
dieser Option einstellen. Wenn eingestellt, dann werden
listen.owner
und listen.group
ignoriert. Der Wert ist eine durch Kommas getrennte Liste von
Benutzernamen. Seit PHP 5.6.5.
-
listen.acl_groups
string
-
Siehe listen.acl_users
. Der Wert ist eine durch Kommas
getrennte Liste von Gruppennamen. Seit PHP 5.6.5.
-
user
string
-
Der Unix-Benutzer der FPM Prozesse. Diese Einstellung ist zwingend notwendig.
-
group
string
-
Die Unix-Benutzergruppe der FPM Prozesse. Wenn nicht eingestellt, wird
als Wert die Gruppe des Standard-Nutzers verwendet.
-
pm
string
-
Wähle, wie der Prozess-Manager die Anzahl der Kindprozesse verwaltet.
Mögliche Werte: static
, ondemand
,
dynamic
.
Diese Einstellung ist zwingend notwendig.
static
- die Anzahl der Kindprozesse ist fest eingestellt (pm.max_children
).
ondemand
- die Kindprozesse werden gestartet, sobald sie
benötigt werden, im Gegensatz zu dynamic, wo zu Beginn bereits
pm.start_servers
Prozesse gestartet werden.
dynamic
- die Anzahl der Kindprozesse wird dynamisch eingestellt,
wobei die folgenden Einstellungen zugrundegelegt werden: pm.max_children
,
pm.start_servers
,
pm.min_spare_servers
, pm.max_spare_servers
.
-
pm.max_children
int
-
Die Anzahl an Kindprozessen, die erstellt werden, wenn pm
auf
static
gesetzt und die maximale Anzahl an Kindprozessen, die
erstellt werden, wenn pm
auf dynamic
gesetzt ist.
Diese Einstellung ist zwingend notwendig.
Die Einstellung setzt das Limit für die Anzahl gleichzeitiger Verbindungen.
Gleichzusetzen mit der ApacheMaxClients-Direktive mit
mpm_prefork und der PHP_FCGI_CHILDREN Umgebungsvariable im
originalen PHP FastCGI.
-
pm.start_servers
int
-
Die Anzahl an Kindprozessen, die beim Start erstellt werden.
Wird nur verwendet, wenn pm
auf dynamic
gesetzt ist.
Standardwert: min_spare_servers + (max_spare_servers -
min_spare_servers) / 2.
-
pm.min_spare_servers
int
-
Die gewünschte Mindestanzahl an Prozessen. Wird nur genutzt, wenn
pm
auf dynamic
gesetzt ist. Ebenfalls zwingend notwendig.
-
pm.max_spare_servers
int
-
Die gewünschte Maximalanzahl an Prozessen. Wird nur genutzt, wenn
pm
auf dynamic
gesetzt ist. Ebenfalls zwingend erforderlich.
-
pm.process_idle_timeout
mixed
-
Die Anzahl von Sekunden nach der ein Prozess im Leerlauf terminiert
wird. Wird nur verwendet, wenn pm
auf
ondemand
gesetzt wurde. Verfügbare Einheiten: s
(Sekunden)(Standardwert), m (Minuten), h (Stunden) oder d (Tage).
Standardwert: 10s.
-
pm.max_requests
int
-
Die Anzahl an Anfragen, die ein Kindprozesse ausführt, bevor er neu startet.
Das kann hilfreich sein, um Memory Leaks in Bibliotheken von Drittanbietern zu debuggen.
Für eine unbegrenzte Anfrageanzahl '0' verwenden. Vergleichbar mit
PHP_FCGI_MAX_REQUESTS. Standardwert: 0.
-
pm.status_path
string
-
Die URI, um die FPM Statusseite anzuzeigen. Wenn dieser Wert nicht gesetzt ist, wird kein
URI als Statusseite erkannt. Standardwert: none.
-
ping.path
string
-
Die Ping URI, um die Monitoring-Seite von FPM aufzurufen. Wenn dieser Wert nicht gesetzt ist,
dann wird keine URI als Ping-Seite erkannt. Das kann dafür verwendet werden, zu testen,
ob FPM noch läuft und antwortet. Es sei der Hinweis gestattet, dass der Wert mit einem
Forwardslash (/) zu beginnen hat.
-
ping.response
string
-
Diese Direktive kann dazu verwendet werden, die Antwort auf eine Ping-Anfrage zu gestalten.
Die Antwort ist vom Typ text/plain mit Antwortcode 200.
Standardwert: pong.
-
process.priority
int
-
Legt die nice(2) Priorität fest, die auf den Arbeiterprozess angewendet
wird (falls angegeben). Der Wert liegt im Bereich von -19 (höchste
Priorität) bis 20 (niedrigste Priorität).
Standardwert: nicht gesetzt
-
process.dumpable
bool
-
Setzt das „process dumpable flag“ (PR_SET_DUMPABLE prctl), selbst wenn
der Prozess-Nutzer oder die -Gruppe sich vom Master-Prozess-Nutzer
unterscheidet. Dies erlaubt es dem Pool-Nutzer, Prozess-Coredumps zu
erstellen, und den Prozess mit ptrace zu untersuchen.
Standardwert: no.
Seit PHP 7.0.29, 7.1.17 und 7.2.5.
-
prefix
string
-
Legt das Prefix für die Pfad-Validierung fest.
-
request_terminate_timeout
mixed
-
Das Zeitfenster, in dem die einzelne Anfrage beantwortet sein sollte und falls nicht, der
bearbeitende Prozess terminiert wird. Diese Einstellung sollte verwendet werden, wenn
die 'max_execution_time' php.ini Einstellung, aus irgendeinem Grund nicht zu einem Scriptabbruch
führt.Der Wert '0' steht für 'Off'. Mögliche Einheiten: s(econds)(default), m(inutes), h(ours)
oder d(ays). Standardwert: 0.
-
request_slowlog_timeout
mixed
-
Das Zeitfenster, in dem die einzelne Anfrage beantwortet sein sollte und falls nicht,
ein PHP Backtrace in die Log-Datei für langsame Anfragen geschrieben wird.
Der Wert '0' meint 'Off'.
Mögliche Einheiten: s(econds)(default), m(inutes), h(ours) oder d(ays).
Standardwert: 0.
-
slowlog
string
-
Die Log-Datei für langsame Anfragen. Standardwert:
#INSTALL_PREFIX#/log/php-fpm.log.slow
.
-
rlimit_files
int
-
Setzt open file descriptor rlimit für Kind-Prozesse in diesem Pool. Standardwert: Systemeinstellung.
-
rlimit_core
int
-
Setzt max core size rlimit für Kind-Prozesse in diesem Pool. Mögliche Werte: 'unlimited' oder ein Integer größer oder gleich 0.
Standardwert: Systemeinstellung.
-
chroot
string
-
Wechselt (chroot) beim Start in das angegebene Verzeichnis. Der Wert muss eine absolute Pfadangabe
sein. Wenn dieser Wert nicht gesetzt ist, wird chroot nicht verwendet.
-
chdir
string
-
Wechselt (chdir) beim Start in das angegebene Verzeichnis. Der Wert muss eine absolute Pfadangabe sein.
Standardwert: aktuelles Verzeichnis oder / wenn chroot.
-
catch_workers_output
bool
-
Umleitung von Stdout und Stderr in das allgemeine Errorlog. Wenn nicht gesetzt,
werden Stdout und Stderr umgeleitet nach /dev/null, entsprechend der FastCGI Spezifikation.
Standardwert: no.
-
decorate_workers_output
bool
-
Aktiviert die Ausgabedekoration für die Ausgabe von Workern, wenn
catch_workers_output aktiviert
ist.
Standardwert: yes.
Verfügbar von PHP 7.3.0 an.
-
clear_env
bool
-
Löscht die Umgebung in FPM-Arbeitern. Verhindert, dass beliebige
Umgebungsvariablen FPM-Arbeiterprozesse erreichen, indem die Umgebung in
den Arbeitern gelöscht wird, bevor die Umgebungsvariablen, die in dieser
Pool-Konfiguration angegeben sind, hinzugefügt werden. Seit PHP 5.4.27,
5.5.11, and 5.6.0.
Standardwert: Yes.
-
security.limit_extensions
string
-
Beschränkt die Dateirweiterungen des Haupt-Skripts, das FPM zu parsen erlaubt.
Dies kann Konfigurationsfehler auf der Webserverseite verhindern. Sie
sollten FPM nur auf .php Erweiterungen beschränken, um zu verhindern, dass
bösartige Nutzter andere Erweiterungen verwenden, um PHP Code auszuführen.
Standardwert: .php .phar
-
access.log
string
-
Die Zugriffsprotokolldatei.
Standardwert: nicht gesetzt
-
access.format
string
-
Das Zugriffsprotokollformat.
Standardwert: "%R - %u %t \"%m %r\" %s"
Es ist möglich, zusätzliche Umgebungsvariablen zu setzen und PHP Einstellungen eines bestimmten
Pools zu verändern. Dazu sind die nachfolgenden Einstellungen in der Pool-Konfigurationsdatei erforderlich.
übergeben wurden überschreiben vorherige Werte.
Es sei der Hinweis gestattet, dass
Einstellungen überschrieben werden,
vielmehr werden die neuen Werte angehängt.
Ab PHP 5.3.3 können PHP-Einstellungen ebenfalls im Webserver vorgenommen
werden.