Drei Konfigurationsmethoden und Vergleich der PHP-Umgebung in IIS
Bei der Konfiguration von PHP unter Windows IIS 6.0 gibt es normalerweise drei Konfigurationsmethoden: CGI, ISAPI und FastCGI. Alle drei Modi können unter IIS 6.0 erfolgreich ausgeführt werden.
1. CGI (Common Gateway Interface) ist im Allgemeinen ein ausführbares Programm, z. B. eine EXE-Datei, und jeder Webserver belegt einen anderen Prozess. Im Allgemeinen kann ein CGI-Programm nur eine Benutzeranforderung verarbeiten. Wenn die Anzahl der Benutzeranforderungen sehr groß ist, werden auf diese Weise viele Systemressourcen wie Speicher, CPU-Zeit usw. beansprucht, was zu einer geringen Leistung führt.
2. ISAPI (Internet Server Application Program Interface) ist eine Reihe von API-Schnittstellen für WEB-Dienste, die von Microsoft bereitgestellt werden. Es kann alle von CGI bereitgestellten Funktionen realisieren und auf dieser Basis erweitern, beispielsweise die Bereitstellung einer Filteranwendungsprogrammschnittstelle. ISAPI-Anwendungen werden meist in Form dynamischer DLL-Bibliotheken verwendet, die nach Anforderung durch den Benutzer ausgeführt werden können. Sie verschwinden nicht sofort nach der Verarbeitung einer Benutzeranforderung, sondern verbleiben weiterhin im Speicher und warten auf andere Benutzereingaben verarbeitet werden. Darüber hinaus befinden sich die DLL-Anwendung und der WEB-Server von ISAPI im selben Prozess, und die Effizienz ist deutlich höher als bei CGI.
Konfigurieren Sie PHP im ISAPI-Modus unter IIS6 von Windows Server 2003. Die Konfigurationsmethode besteht darin, eine neue WEB-Diensterweiterung in die „WEB-Diensterweiterung“ von IIS einzufügen. Das Programmsuffix lautet PHP und das ISAPI-Programm lautet php5isapi.dll dann „ Fügen Sie den Variablennamen PHPRC in „Umgebungsvariablen“ – „Systemvariablen“ hinzu und der Wert ist der Pfad zu php.ini. Wählen Sie im Internet Information Service Manager das Stammverzeichnis der Website oder Anwendung aus und öffnen Sie die Verzeichniseigenschaft Seite (klicken Sie mit der rechten Maustaste und wählen Sie „Eigenschaften“) und wählen Sie dann „Home-Verzeichnis“. Klicken Sie auf die Schaltfläche „Konfigurieren“ und wählen Sie die Registerkarte „Zuordnung“ aus. Klicken Sie auf „Hinzufügen…“, setzen Sie die „Ausführbare Datei“ auf: c:phpphp5isapi.dll, legen Sie die Erweiterung auf .php fest, wählen Sie „Bestätigen, ob die Datei existiert“ und dann „OK“, um die Einstellungen zu speichern. Starten Sie den Server neu, um die PHP-Konfiguration abzuschließen.
3. FastCGI ist eine offene Erweiterung von CGI mit einer skalierbaren Architektur. Sein Hauptverhalten besteht darin, den CGI-Interpreterprozess im Speicher zu halten und so eine höhere Leistung zu erzielen. Das wiederholte Laden herkömmlicher CGI-Interpreter ist der Hauptgrund für die geringe CGI-Leistung. Wenn der CGI-Interpreter im Speicher bleibt und die Planung des FastCGI-Prozessmanagers akzeptiert, kann er eine gute Leistung, Skalierbarkeit usw. bieten.
FastCGI wurde in IIS7 integriert und unterstützt auch IIS6. Informationen zur Installationsmethode in IIS6 finden Sie in der offiziellen Dokumentation von Microsoft.
Klicken Sie zunächst hier, um eine 32-Bit-FastCGI-Erweiterung für IIS herunterzuladen, und installieren Sie sie dann. Die installierte Datei sollte im Verzeichnis system32inetsrv abgelegt werden.
Öffnen Sie dann das Verzeichnis system32inetsrv und führen Sie die folgende Anweisung aus, wobei c:php Ihr PHP-Verzeichnis ist und in andere Werte geändert werden kann.
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"c:phpphp-cgi.exe"
Wählen Sie im Internet Information Services Manager das Stammverzeichnis der Website oder Anwendung aus, öffnen Sie die Verzeichniseigenschaftenseite (klicken Sie mit der rechten Maustaste und wählen Sie „Eigenschaften“) und wählen Sie dann „Home-Verzeichnis“. Klicken Sie auf die Schaltfläche „Konfigurieren“ und wählen Sie die Registerkarte „Zuordnung“ aus. Klicken Sie auf „Hinzufügen…“, setzen Sie die „Ausführbare Datei“ auf: c:windowssystem32inetsrvfcgiext.dll, legen Sie die Erweiterung auf .php fest, wählen Sie „Bestätigen, ob die Datei existiert“ und dann „OK“, um die Einstellungen zu speichern.
Ändern Sie die Datei php.ini und fügen Sie die folgende Anweisung hinzu:
fastcgi.impersonate = 1
cgi.fix_pathinfo = 1
cgi.force_redirect = 0
Öffnen Sie dann das Verzeichnis system32inetsrv und führen Sie die folgende Anweisung aus:
cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000
Konfigurieren Sie abschließend die Sicherheit des Verzeichnisses c:php, sodass die Gruppe IIS_WPG über Lese- und Ausführungsberechtigungen für dieses Verzeichnis verfügt.
Zu diesem Zeitpunkt wurde PHP basierend auf FastCGI erfolgreich auf IIS6 konfiguriert.
Das Obige stellt die drei Konfigurationsmethoden der PHP-Umgebung in IIS und ihren Vergleich vor, einschließlich des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.