Vorteile von PHP-FPM/FCGI
Es gibt mehrere Möglichkeiten wie .php-Dateien vom Webserver verarbeitet werden können. Die folgenden Punkte beschreiben die bekanntesten Implementierungsweisen und besonders die Vorteile von PHP-FPM/FCGI im Vergleich zu CGI:
CGI - Vor- und Nachteile:
Das "Common Gateway Interface" (kurz "CGI") ermöglicht es, Daten zwischen Webservern und externen Programmen auszutauschen und so die Funktionalität einer Webseite zu erweitern. Das heißt, HTML-Seiten müssen nicht fertig auf dem Server zur Verfügung stehen und bei Bedarf heruntergeladen werden, sondern werden vom CGI-Programm dynamisch erzeugt, sobald eine entsprechende Anfrage erfolgt.
Der Nachteil dieser ganzen Geschichte ist, dass der Webserver pro Anfrage einen neuen Prozess startet. Dadurch werden bei jeder Anfrage alle PHP-Module (bspw. php.ini) neu geladen und durchgeführt. Das ganze ist dementsprechend ineffizient und verläuft deutlich langsamer.
Der Vorteil dabei ist aber die komplette Isolierung zwischen ausgeführten Webserver-Code und PHP-Code.
FPM/FCGI - Unterschied zu CGI
FPM ("FastCGI-Prozessmanager") könnte man als Upgrade für CGI beschreiben, da man beide sehr gut miteinander vergleichen kann. Der große Vorteil von FPM ("FastCGI-Prozessmanager") zu CGI ist, dass hier nicht pro Request eine neue PHP-Instanz gestartet wird, sondern es schon "fertige" PHP-Instanzen gibt, denen nur die angefragte PHP-Datei übergeben wird. Dieser Vorteil bringt demnach eine deutlich bessere Performance für php-basierte Webseiten und führt auch dazu, dass der Webserver mehr gleichzeitige Seitenanfragen verarbeiten kann.