Lassen Sie mich einfach sagen, dass ich neu bei FastCGI bin. Ich habe MAMPs Apache auf meinem OS X-Rechner. Der Standard-PHP-Handler war Apache Handler 2.0
(libphp5.so). Ich wollte zu FastCGI
wechseln und folgte der Antwort hier: Wie konfiguriert Apache, um PHP als FastCGI auf Ubuntu 12.04 über Terminal zu betreiben?
Ich habe am Ende meiner httpd.conf Folgendes hinzugefügt:
%Vor% Wie Sie jedoch sehen können, ist FastCgiExternalServer
auskommentiert. Stattdessen musste ich FastCgiServer
cause verwenden, da Apache mir beim Versuch, eine Seite anzufordern, folgende Fehler gab:
[Fr May 06 23:25:22 2016] [Fehler] [Client :: 1] (2) Keine solche Datei oder Verzeichnis: FastCGI: Verbindung zum Server konnte nicht hergestellt werden "/ Anwendungen / MAMP / fcgi-bin / php5 .fcgi ": connect () fehlgeschlagen
[Fr May 06 23:25:22 2016] [Fehler] [Client :: 1] FastCGI: unvollständige Header (0 Bytes) vom Server empfangen "/Applications/MAMP/fcgi-bin/php5.fcgi"
Aber /Applications/MAMP/fcgi-bin/php5.fcgi
existiert und sein Inhalt ist:
Was ist der Unterschied zwischen FastCgiServer
und FastCgiExternalServer
und warum FastCgiExternalServer
hat in meinem Fall nicht funktioniert, aber FastCgiServer
hat funktioniert?
FastCgiServer ist ein Server, auf dem mod_fastcgi die Prozessverwaltung für - das Hoch- und Herunterschalten von Instanzen und das Aufgeben eines Unix-Domain-Sockets zum Abhören übernimmt. Zum Starten des fastcgi-Servers ist keine externe Aktion erforderlich.
FastCgiExternalServer ist ein Server, für den mod_fastcgi KEIN Prozess-Management übernimmt - er greift nur auf den Unix- oder TCP-Socket zu, von dem aus er angewiesen wird, Anfragen / Antworten zu verwenden und weiterzuleiten. Sie oder ein anderer Daemon außerhalb von httpd müssen etwas starten, um den angegebenen Socket abhören zu können. Der einfachste Weg ist das Dienstprogramm "fcgistarter", andere Optionen sind Dinge wie php-fpm.
Wenn Leistung Grund ist, würde ich Apache mit fcgid verwenden. Dies wird für die Leistung als besser angesehen. Um mit der Leistung umzugehen, startet mod_fcgid mehrere Instanzen von CGI-Programmen, um gleichzeitige Anfragen zu bearbeiten. Dies ist eine Alternative zu mod_php für PHP-Entwickler, die eine höhere Leistung bietet. Dieser Artikel, den ich gefunden habe, ist eine großartige Ressource zum Lernen
Tags und Links php apache fastcgi mod-fastcgi