Was muss ich alles tun, um mod_fcgid anstelle von mod_php unter Ubuntu und CentOS zu verwenden? Was sind die Hauptvorteile und Unterschiede zwischen den beiden
Antwort1
mod_php:
- etwas schneller als mod_fcgid
- läuft unter dem httpd-Prozess
- Zugriff auf die Apache-API haben ( de.php.net/manual/en/ref.apache.php )
- schlecht für Shared Hosting, da alle Domains unter dem gleichen Benutzer laufen
mod_fcgid:
- Skripte werden unter dem gewünschten Benutzer ausgeführt (gut für Shared Hosting)
- verbesserte Sicherheit
- kann mehr als nur PHP ausführen
- Sie können mehrere PHP-Versionen ausführen, z. B. PHP4, PHP5, PHP5.1, PHP5.2, PHP 5.3
Antwort2
Auf meiner Shared-Hosting-Plattform verwende ich FastCGI, um PHP auszuführen, anstatt es direkt aufzurufen. PHP wird dort standardmäßig über CGI ausgeführt und nicht als Modul. Für mich war es also nur eine Frage des Hinzufügens des Folgenden zu meiner .htaccess
Datei:
AddHandler application/myphp .php
Action application/myphp /cgi-bin/myphp.fcgi
Als nächstes musste ich das myphp.fcgi
Skript in meinem cgi-bin-Verzeichnis erstellen, das Folgendes enthielt:
#!/bin/sh
# This ensures PHP doesn't try to run it's own
# process manager.
export PHP_FCGI_CHILDREN=0
# Replace this shell image with a PHP
# image.
exec /path/to/php -c /path/to/my/php.ini
Dies läuft bei mir einwandfrei und meine Hosting-Umgebung wird in einem Cluster aus fast einem Dutzend Servern hinter einem Hardware-Load Balancer ausgeführt.
Antwort3
cgi = jede Anfrage startet einen Prozess und gibt die Ergebnisse an den Client zurück. fcgi = die Anwendung (z. B. Ruby/Django) oder der Interpreter (PHP) läuft weiter und der Webserver leitet Anfragen weiter und erhält Antworten davon.
FastCGI ist fast immer schneller (für Sachen, die es unterstützen), aber einige sehr alte Sachen (z. B. Nagios) benötigen CGI. Der einzige wirkliche Vorteil von CGI ist, dass CGI-Anwendungen, wenn es keine Verkehrsskripte gibt, keinen Speicher verwenden. Normalerweise ist der Webserver jedoch intelligent genug, FastCGI-Anwendungen zu schließen, die für einige Zeit nicht verwendet werden, also ist das kein wirklicher Vorteil.