PHP FastCGI Process Manager (FPM) – Definition

Im Folgenden erhalten Sie ausführliche Definition zu FastCGI"


Inhalt


PHP-FastCGI

Wenn PHP als Apache-Modul eingesetzt wird, nutzt es das CGI (Common Gateway Interface), um Anfragen an einen Webserver zu senden und vom Client zurück zu empfangen. Ein neuer Prozess wird bei jeder Anfrage angelegt, der – nachdem das Script zu Ende bearbeitet ist – beendet wird. Das Script auszuführen dauert nicht so lange an, wie es zu starten und zu initialisieren. Somit entsteht ein sog. Overhead. Dieses Problem ist damit verbunden, dass zusätzlich ein eigener Interpreter je Script in den Speicher geladen wird.

Um dieses mühsame Prozedere zu umgehen gibt es das Netzwerkprotokoll FastCGI. FastCGI verringert den erwähnten Overhead. Es ist eine Art Endlos-Schleife, die ununterbrochen auf Requests wartet. Vorteile hier sind, dass der Interpreter nur ein mal geladen wird. Somit werden Webseiten dynamischer gemacht.

PHP-FPM

Das PHP-FPM (FastCGI Process Manager) ist eine Erweiterung des FastCGI mit neuen Features. Der PHP-Interpreter nutzt also die FastCGI-Schnittstelle.

Mit PHP-FPM werden mehrere PHP-Interpreter-Prozesse gestartet, die permanent im Hintergrund laufen. Anfragen werden vom Webserver entgegengenommen und an die PHP-Interpreter verteilt.

Vorteile von PHP-FPM:

  • Gerade nicht benötigte Interpreter-Prozesse werden beendet, um Server-Ressourcen zu sparen.
  • Ergänzende Log-Funktionen
    • um z.B. sämtliche Skripte zu protokollieren, die gewisse Rechenzeit überschritten haben.
    • um Fehler ausfindig zu machen, die während der Entwicklung auftauchen.
    • um Angriffe aufzudecken.

PHP-FPM Features finden Sie online unter www.php.net.