snowman25
Goto Top

SuPHP, Mod-PHP, CGI, Fast-CGI - Unterschiede?

Hallo lieber Admins,

welche Unterschiede gibt es zwischen diesen PHP-Varianten\Präprozessoren\whatever?

  • suPHP
  • Mod-PHP
  • CGI
  • Fast-CGI

greetz Snow

Content-ID: 134891

Url: https://administrator.de/contentid/134891

Ausgedruckt am: 21.11.2024 um 17:11 Uhr

datasearch
datasearch 01.02.2010 um 21:45:18 Uhr
Goto Top
suPHP Startet php unter einer anderen UID als der Webserver. Kann genutz werden, um PHP-Scripte vom Server als root zu starten
mod-php läuft im Webserver als natives Erweiterungsmodul. Kommuniziert über interne API mit dem Server
CGI Startet externe Anwendung bei Aufruf einer entsprechenden Datei. Kommuniziert über Befehlsketten
FastCGI Startet mehrere Instanzen der eigenständigen PHP-Anwendung unabhängig vom Webserver. Kommuniziert mit dem Server über IO-Socket des fastCGI-Prozesses.

Prinzipiell ist eine native Erweiterung des Webservers immer schneller. Nachteil, es läuft im Adressraum des Webservers. Wenn das Erweiterungsmodul einen Serverprozess belegt, muss zwingend ein neuer gestartet werden.
FastCGI ist Langsamer in der Kommunikation mit dem Server, blockiert diesen aber nicht mit längeren Operationen. Belastet den Server höher, bringt aber auf mehrkernsystemen bessere Performance bei komplexen Scripten.
CGI hat eigentlich fast nur Nachteile. Kurz und Knapp.
suPHP ist ein Spezialfall um PHP-Scripte mit anderen Rechten zu starten. Performance steht hier weniger im Vordergrund.
Snowman25
Snowman25 01.02.2010 um 22:18:54 Uhr
Goto Top
Hallo @datasearch,

Danke für deine Antwort.
Also sollte mir für einen normalen Webserver mod-PHP reichen?
Sollte sich da mal ein Script aufhängen, dann wird der Server keine Antwort geben, bis das hängende Script wegen Timeout terminiert wird, oder?

greetz @Snowman25
datasearch
datasearch 02.02.2010 um 13:30:34 Uhr
Goto Top
mod-php reicht für deine Zwecke aus. Es hängt bei einem Problem ja auch nicht der ganze Server, sondern nur der Prozess under dem das Script ausgeführt wurde. Quasi wenn dieser Serverprozess gerade 50 Anfragen abarbeitet kann es zu Problemen kommen. Kommt aber auch auf das Design/die Engine des Webservers an (bei Apache, das MPM).