PHP als Apache-Modul, CGI oder FCGI?

PHP als Apache-Modul

Bei PHP-Support als Apache-Modul läuft PHP als fester Bestandteil des Webservers und muss zur Verwendung nicht erst initiiert werden, sondern ist ständig geladen. Dies wirkt sich insbesondere auf grosse Internetseiten aus, welche eine hohe Zahl an Besuchern erwarten. Hiermit verbunden ist die Besitzerverwaltung von Verzeichnissen und Dateien, es gibt also Ihren FTP-User (mit welchem Sie sich via FTP-Client oder Filemanager in Plesk verbinden) und, je nach System, den 'www-data'-User, also PHP selbst.
Files, die scriptseitig erzeugt werden, also durch den PHP-Interpreter, gehören auch diesem, haben also 'www-data' als Owner resp. Besitzer. Es liegt in der Natur der Sache, dass Ihr FTP-User diese Files nicht verändern darf (wie auch umgekehrt).

Diese Thematik kommt häufig zum tragen wenn Applikationen aus Plesk installiert wurden (Joomla, Typo3, etc.) und aufgrund der Besitzerverwaltung z.b. keine Filerechte mehr geändert werden können. Hier stellt das Umstellen auf FastCGI eine durchaus sinnvolle Alternative dar.

TIP: Das Verwalten von Joomla, Typo3 und ähnlichen Applikationen gestaltet sich meist sehr viel einfacher, wenn PHP als FCGI voreingestellt wird. Hiermit entfällt die aufwändige Besitzer- und Rechteverteilung, sollten nach Ihrer Installation Änderungen vonnöten sein. Des weiteren können die Berechtigungen in aller Regel deutlich restriktiver gehalten werden.

Domain-Accounts, welche via Ihrem Kunden-Center erstellt werden, sind bereits mit FCGI voreingestellt!

PHP als CGI

Wenn PHP als CGI läuft ist dies jeweils ein gesonderter Prozess, der bei jedem Seitenaufruf gestartet wird und bei welchem der PHP-Interpreter geladen werden muss. Am Ende der Seite wird dieser wieder beendet und der Speicher freigegeben. Hierbei benötigt der Aufbau der Seite etwas mehr Zeit als sonst, dies dürfte allerdings eher bei sehr grossen Webpräsenzen mit viel Traffic ins Gewicht fallen.

Der grosse Vorteil hierbei ist, dass der Prozess ebenfalls unter Ihrem FTP-User gestartet wird und somit alle dabei erstellten Verzeichnisse und Dateien dem FTP-User gehören und ebenso durch diesen verwaltbar sind. Beachten Sie, dass ein nachträgliches Umstellen auf CGI keine Änderungen an Besitzer und Rechte der Files herbeiführt, diese müssten entweder erst nach dem Umstellen hochgeladen werden oder nachträglich durch den Cyberdine.ch-Support auf Ihren FTP-User übertragen werden.

Beachten Sie, dass im CGI-Modus die PHP-Direktiven in einer allfälligen .htaccess-Datei ignoriert werden, da diese nur mit PHP als Apache-Modul verfügbar sind. Ansonsten können Sie die .htaccess-Datei wie gewohnt verwenden.

PHP als FCGI (FastCGI)

Im Unterschied zu CGI benötigt FastCGI nur eine einzige Programminstanz um mehrere Anfragen zu bedienen. Unter CGI wird für jeden User und Seitenaufruf eine eigene PHP-Instanz aufgerufen, was natürlich zu einer höheren Auslastung der Servers führt. FastCGI wurde aus eben diesem Grund entwickelt: die Performance-Probleme von CGI zu umgehen.

Ansonsten besteht kein nennenswerter Unterschied zu CGI, auch hier wird keine gesonderte Besitzerverwaltung notwendig, alle Verzeichnisse und Dateien gehören Ihrem FTP-User und können durch diesen verwaltet werden. Wenn Sie also keinen zwingenden Grund haben CGI zu verwenden, konfigurieren Sie Ihre PHP-Unterstützung vorzugsweise als FastCGI.

Beachten Sie, dass im FastCGI-Modus die PHP-Direktiven in einer allfälligen .htaccess-Datei ebenfalls ignoriert werden, da diese nur mit PHP als Apache-Modul verfügbar sind. Ansonsten können Sie die .htaccess-Datei wie gewohnt verwenden.

Diese Einstellungsmöglichkeit finden Sie in Ihrem Control Panel » 'Webhostings' » (falls mehrere, Webhosting wählen) »(Domain wählen) » 'Bearbeiten'.

on 21/11/2014
Was this helpful?