Zum Inhalt springen

FastCGI

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 03.11.2026

FastCGI ist das Protokoll, über das ein Webserver Anfragen an dauerhaft laufende Programmprozesse übergibt. Für PHP ist es heute der übliche Weg: Der Webserver liefert Dateien aus und schickt alles Übrige an einen Prozess, der schon läuft.

FastCGI

Das Protokoll, über das ein Webserver Anfragen an dauerhaft laufende Programmprozesse übergibt.
Beispiel: „Nginx gab die Anfrage über FastCGI an den PHP-Prozess weiter und wartete auf die Antwort.“

Entstanden 1996 bei Open Market als Erweiterung von CGI; die Abkürzung CGI steht für Common Gateway Interface, auf Deutsch etwa gemeinsame Vermittlungsschnittstelle. Gesprochen wird über einen Unix-Socket oder über TCP.

Abgrenzung zum alten CGI: Dieses startete für jede Anfrage einen neuen Prozess. FastCGI hält eine Gruppe von Prozessen bereit und spart damit den Start, siehe PHP-Handler.

Was FastCGI vom alten CGI unterscheidet

Die Lebensdauer der Prozesse. Beim alten Verfahren kostete jede Anfrage einen Programmstart samt Einlesen aller Dateien; bei FastCGI stehen die Prozesse bereit und nehmen eine Anfrage nach der anderen an.

Daraus folgt der zweite Vorteil: Zwischenspeicher bleiben warm. OPcache hält den übersetzten PHP-Code im Prozess, und ein neuer Aufruf trifft auf fertige Arbeit statt auf einen leeren Speicher.

Wie PHP-FPM auf FastCGI aufsetzt

Als Verwalter der Prozessgruppe. PHP-FPM startet die Prozesse, hält sie je Kunde unter eigenem Systemnutzer und regelt über pm.max_children, wie viele gleichzeitig arbeiten dürfen.

Der Webserver kennt davon allein die Adresse des Sockets. Apache spricht ihn über mod_proxy_fcgi an, Nginx über fastcgi_pass, und beide geben Pfad, Kopfzeilen und Formulardaten im Format des Protokolls weiter.

Wo FastCGI im Betrieb klemmt

An der Zahl der Prozesse. Sind alle belegt, warten neue Anfragen in einer Schlange, und nach Ablauf der Wartezeit antwortet der Webserver mit 502 oder 504, obwohl PHP selbst ohne Fehler arbeitet.

Der zweite Punkt ist die Zeitgrenze. Ein langer Import läuft gegen request_terminate_timeout und wird abgeschnitten; solche Arbeiten gehören deshalb auf die Kommandozeile und nicht hinter den Webserver.

Siehe auch:

PHP-Handler

Die Einrichtung, über die ein Webserver PHP-Dateien ausführen lässt.

#Hosting & Webserver

nginx

Ein Webserver, der viele gleichzeitige Verbindungen mit wenig Arbeitsspeicher bedient.

#Hosting & Webserver

Apache

Ein verbreiteter Webserver, der sich je Verzeichnis über .htaccess einstellen lässt.

#Hosting & Webserver

Application Server

Ein Server, der eine Anwendung ausführt, statt fertige Dateien auszuliefern.

#Hosting & Webserver

Server-Antwortzeit als Rankingfaktor

Die Zeit bis zum ersten Byte der Antwort und ihre Rolle für Platzierung und Abruf.

#Suchmaschinenoptimierung (SEO)

Datenbank Server

Ein Server, der ausschließlich die Datenbank einer Anwendung betreibt.

#Hosting & Webserver