Ich verwende IIS6 unter Windows Server 2k3 und habe derzeit PHP als ISAPI-Modul installiert. Wir sind dabei, unsere Umgebung auf PHP 5.3.0 zu aktualisieren, und deshalb habe ich mich gefragt, ob ich beim ISAPI-Modul bleiben soll oder ob es einen Grund gibt, warum das CGI besser passt.
Wir haben einen Webserver für unser Unternehmen und müssen uns keine Sorgen um die Sicherheit im Zusammenhang mit Shared Hosting machen. Wir haben mehrere Websites, aber alle gehören uns.
Gibt es einen Vorteil bei der Verwendung einer Methode gegenüber der anderen? Ist man sicherer? Ist es einfach eine Frage der Präferenz?
BEARBEITEN: PHP 5.3.0 hat die Unterstützung für ISAPI eingestellt, daher müssen Sie es über FastCGI installieren. Aus dem PHP-Migrationshandbuch :
Die Unterstützung für das ISAPI-Modul wurde eingestellt. Verwenden Sie stattdessen das verbesserte FastCGI-SAPI-Modul.
Antworten:
Die nicht threadsichere PHP-CGI-Binärdatei für Windows soll Ihnen maximale Stabilität, Kompatibilität und Leistung bieten:
Die Leistung und Stabilität ist jedoch anfällig, wenn die CGI-Binärdatei in Multithread-Umgebungen wie IIS verwendet wird. Daher verwenden die meisten Benutzer die relativ neue FastCGI- Erweiterung, die für IIS 5.1 / IIS 6.0 als Download verfügbar und mit IIS7 gebündelt ist.
In diesem Handbuch wird erläutert, wie Sie PHP CGI mit der FastCGI-Erweiterung von Microsoft installieren und konfigurieren.
Die zweite Möglichkeit besteht darin, sich für PHP ISAPI zu entscheiden. Achten Sie jedoch darauf, (i) Thread-sichere Builds zu verwenden. (Ii) stabile und getestete Erweiterungen zu verwenden. Andernfalls kann PHP ISAPI abstürzen und auch IIS herunterfahren. Eine Randnotiz ist, dass die Profilsicherheit in PHP wie eine Handbremse ist, die immer angezogen ist. Einige sagen sogar, dass es ein Mythos ist.Update: PHP ISAPI wird nicht mehr ausgeliefert, daher ist die Frage zu ISAPI vs. CGI keine Frage mehr. FastCGI wird empfohlen.
quelle
Ich persönlich finde, dass ISAPI für nicht ausgelastete Websites (z. B. durchschnittlich zwischen 0 und 25 Benutzer) einwandfrei funktioniert. Ich habe wenig Nutzen aus der Verwendung von CGI gegenüber ISAPI gezogen.
Wenn Sie jedoch eine geschäftige Website haben oder nichts dagegen haben, ein wenig zu arbeiten, empfehle ich, sich FastCGI anzuschauen, da Sie es jetzt auf Win2003 IIS6 erhalten können. Es läuft unter hoher Last VIEL schneller.
http://www.iis.net/extensions/FastCGI
quelle
CGI arbeitet unter IIS im Vergleich zum ISAPI-Modell sehr schlecht (da das Erstellen neuer Prozesse, wie CGI funktioniert, unter Windows NT-Betriebssystemen sehr "teuer" ist). In modernen Versionen von IIS sind viele der "Probleme" von ISAPI (Speicherlecks, das "Recyceln" von Anwendungen usw.) "behoben" und ISAPI-basierte Anwendungen funktionieren im Allgemeinen sehr gut und sind einfach zu verwalten. Alle Gründe, aus denen Sie feststellen, dass CGI-basierte Anwendungen "besser" sind als ISAPI-basierte Anwendungen, wurden wahrscheinlich in einer IIS 4.0- oder IIS 5.0-Ära geschrieben.
quelle