Vorhaben besprechen

Lexikon

PHP-FPM

PHP-FPM (FastCGI Process Manager) ist die primäre FastCGI-Implementierung von PHP. Es betreibt Pools von PHP-Prozessen, an die ein Webserver wie nginx oder Apache Anfragen weiterreicht, und steuert, wie viele Prozesse unter welchem Benutzer laufen.

25. Oktober 2026PHP-FPMPHPWebserverBetrieb

Früher lief PHP häufig als Modul direkt im Webserver. Heute trennen die meisten Installationen beides: Der Webserver kümmert sich um Verbindungen, Verschlüsselung und statische Dateien, PHP-FPM führt die PHP-Skripte aus. Die Kommunikation läuft über das FastCGI-Protokoll. Das PHP-Handbuch beschreibt FPM als FastCGI-Implementierung mit Funktionen, die vor allem für stark belastete Websites nützlich sind.

Wie PHP-FPM funktioniert

Ein Hauptprozess startet und überwacht die Arbeitsprozesse. Diese sind in Pools organisiert. Laut PHP-Handbuch kann jeder Pool unter einem eigenen Benutzer und einer eigenen Gruppe laufen, auf einem eigenen Port oder Socket lauschen und eigene php.ini-Werte verwenden. Damit lassen sich mehrere Websites auf einem Server sauber voneinander trennen.

Der Webserver leitet Anfragen für PHP-Dateien an den passenden Pool weiter, bei nginx etwa über die Direktive fastcgi_pass, bei Apache über das Modul mod_proxy_fcgi. Ein freier Arbeitsprozess führt das Skript aus und gibt die Antwort zurück.

Weitere Funktionen laut Handbuch:

Prozesssteuerung

Die Einstellung pm legt fest, wie Arbeitsprozesse entstehen:

pm.max_children begrenzt die Zahl der gleichzeitig bearbeiteten Anfragen und sollte zum verfügbaren Arbeitsspeicher passen. Mit pm.max_requests wird ein Prozess nach einer bestimmten Zahl an Anfragen neu gestartet, was gegen Speicherlecks in Bibliotheken hilft. request_terminate_timeout beendet Anfragen, die zu lange laufen.

Typische Einsatzszenarien

Sicherheit

Leistung und Betrieb

Die Zahl der Prozesse ergibt sich aus dem Arbeitsspeicher je Prozess und dem verfügbaren Speicher des Servers. Statusseite und Slowlog zeigen, ob Anfragen warten oder einzelne Skripte bremsen. Zusammen mit OPcache entscheidet die Pool-Konfiguration maßgeblich über Antwortzeiten. Änderungen an der Konfiguration erfordern ein Neuladen des Dienstes und sollten als geplante Änderung erfolgen.

Abgrenzung

CGI startet für jede Anfrage einen neuen Prozess, FastCGI hält Prozesse dauerhaft bereit. PHP-FPM ist die Prozessverwaltung von PHP für FastCGI. Das Apache-Modul mod_php führt PHP dagegen direkt im Webserverprozess aus. Die PHP-Kommandozeile (CLI) ist unabhängig von PHP-FPM und hat eigene Einstellungen.

Quellen

Security-Header-Generator öffnen

WEITER IM LEXIKON

Verwandte Begriffe

Mehr aus Softwareentwicklung

Alle Begriffe im Lexikon

IHR NÄCHSTER SCHRITT

Was soll als
Nächstes besser
funktionieren?

Beschreiben Sie kurz Ihr Vorhaben. Wir ordnen ein und schlagen einen sinnvollen nächsten Schritt vor.