Obwohl die LAMP-Kombination sehr gut ist, ist es am besten, IIS 6 von Windows 2003 zu verwenden, wenn Sie einen virtuellen Web-Hostserver einrichten möchten, der PHP, ASP, ASP.NET, JSP und Perl gleichzeitig unterstützt. Es gibt viele Artikel im Internet über die Konfiguration von PHP auf IIS 6, aber diese Methoden weisen entweder eine schlechte Leistung auf oder lassen sich nur schwer aktualisieren. Die folgende Methode ermöglicht Ihnen ein sehr komfortables Upgrade nach der ersten Konfiguration.
Das hier erwähnte Upgrade bezieht sich auf das Upgrade von einer bestimmten PHP4-Version auf eine andere PHP4-Version oder von einer bestimmten PHP5-Version auf eine andere PHP5-Version, nicht von PHP4 auf PHP5.
Vorbereitung:
1. Ein installierter Windows 2003-Server und IIS 6 wurden installiert.
2. Laden Sie die Windows-Version des PHP-Binärkomprimierungspakets herunter
und installieren Sie es:
Entpacken Sie das PHP-Binärkomprimierungspaket in das Verzeichnis C:php (hier wird davon ausgegangen, dass das Laufwerk C: die Systemfestplatte ist, d. h. die Windows-Systemfestplatte). installiert, wenn es sich bei der Systemfestplatte um die Festplatte D: handelt, dekomprimieren Sie sie in das Verzeichnis D:php usw. (siehe unten).
Öffnen Sie dann „Arbeitsplatz“ -> „Eigenschaften“ -> „Erweitert“ -> „Umgebungsvariablen“ -> „Systemvariablen“ -> „Pfad“, bearbeiten Sie den Wert und fügen Sie die folgende Pfadadresse voran:
C: php;C:phpdlls;C:phpextensions;C:phpsapi;
Kopieren Sie php.ini-dist oder php.ini-recommended in das Verzeichnis C:Windows und benennen Sie es in php.ini um. Im Allgemeinen verwendet der Server, der die Website offiziell veröffentlicht, php.ini-dist, und der Server, der als Debug-Server verwendet wird, ist besser, php.ini-empfohlen zu verwenden. Unter normalen Umständen muss diese php.ini natürlich noch entsprechend der tatsächlichen Situation geändert werden.
Hier sind einige notwendige Änderungsoptionen:
extension_dir = „C:phpextensions“
Dies ist das Verzeichnis, in dem die PHP-Erweiterung abgelegt wird. Bitte stellen Sie sicher, dass es mit dem Verzeichnis übereinstimmt, das Sie tatsächlich installiert haben.
extension=php_mbstring.dll
;extension=php_big_int.dll
extension=php_bz2.dll
extension=php_cpdf.dll
extension=php_crack.dll
extension=php_curl.dll
extension=php_db.dll
extension=php_dba.dll
extension=php_dbase.dll
extension=php_dbx. dll
extension=php_domxml.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_hyperwave.dll
extension=php_iconv.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
extension=php_imap.dll
;extension=php_interbase.dll
extension=php_java.dll
extension=php_ldap.dll
;extension=php_mcrypt.dll
extension=php_mhash.dll
extension=php_mime_magic.dll
extension=php_ming.dll
extension= php_mssql.dll
extension=php_msql.dll
;extension=php_oci8.dll
extension=php_openssl.dll
;extension=php_oracle.dll
extension=php_pdf.dll
extension=php_pgsql.dll
;extension=php_printer.dll
extension=php_shmop.dll
;extension=php_snmp .dll
extension=php_sockets.dll
;extension=php_sybase_ct.dll
extension=php_w32api.dll
extension=php_xmlrpc.dll
extension=php_xslt.dll
extension=php_yaz.dll
extension=php_zip.dll.
Diejenigen ohne Semikolon am Anfang sind geöffnet. Erweiterungen, solche mit einem Semikolon, sind Erweiterungen, die nicht geöffnet sind. Die oben genannten Einstellungen umfassen alle Erweiterungen, die unter Windows 2003 standardmäßig aktiviert werden können (die hier aufgeführten gelten für PHP 4).
session.save_path = c:sessions
Dies ist das Verzeichnis, in dem Sitzungsdateien standardmäßig gespeichert werden. Dieses Verzeichnis muss ein vorhandenes Verzeichnis sein, andernfalls ist die Standardsitzungsfunktion ungültig. Was ich hier eingestellt habe, ist ein Verzeichnis auf einer Ramdisk. Das Festlegen von session.save_path auf der Ramdisk kann die Sitzungsverarbeitung beschleunigen. Wenn Sie Ramdisk nicht installiert haben, können Sie es einem beliebigen Verzeichnis auf anderen Datenträgern zuweisen, z. B. dem Verzeichnis C:sessions, dem Verzeichnis C:WindowsTemp usw.
OK, die grundlegende Arbeit ist erledigt, jetzt ist es an der Zeit, IIS zu konfigurieren.
Öffnen Sie „Internet Information Services (IIS) Manager“, wählen Sie unter „Web Service Extension“ „Neue Web Service Extension hinzufügen“ aus, der Erweiterungsname kann in „PHP ISAPI Extension“ eingetragen werden, die erforderliche Dateiauswahl: C:php sapiphp4isapi.dll (wenn PHP5 installiert ist, ist dies C:phpsapiphp5isapi.dll, dasselbe wie unten) und setzen Sie den Erweiterungsstatus auf erlaubt.
Öffnen Sie „Website“ -> „Eigenschaften“ -> „ISAPI-Filter“ -> „Hinzufügen“, geben Sie „PHP“ als Filternamen ein und wählen Sie weiterhin C:phpsapiphp4isapi.dll als ausführbare Datei aus.
Öffnen Sie „Website“ -> „Eigenschaften“ -> „Home-Verzeichnis“ -> „Anwendungseinstellungen“ -> „Konfiguration“ -> „Anwendungserweiterungen“ -> „Hinzufügen“ oder wählen Sie C:php für die ausführbare Datei sapi php4isapi.dll. Geben Sie die Erweiterung „.php“ ein und die Aktion ist auf „HEAD, GET, POST“ beschränkt.
Öffnen Sie „Website“ -> „Eigenschaften“ -> „Dokument“ -> „Standardinhaltsdokument aktivieren“ -> „Hinzufügen“, um index.php als Standardinhaltsdokument hinzuzufügen.
Wählen Sie dann „Name des Servercomputers“ -> „Alle Aufgaben“ -> „IIS neu starten“, um IIS neu zu starten.
Test:
Erstellen Sie eine Testseite im Standard-Website-Veröffentlichungsverzeichnis:
Download: phptest.php
phpinfo();
?>
Wenn Sie beim Öffnen dieser Seite die PHP-Installationskonfigurationsinformationen sehen, ist die Installation erfolgreich.
Wenn Sie PHP-Programme optimaler ausführen möchten, können Sie ZendOptimizer-2.6.0-Windows-i386.exe installieren. Diese Installation ist sehr einfach und wird hier nicht vorgestellt.
Upgraden
ist jetzt ganz einfach. Sie müssen lediglich die neue Version des PHP-Binärkomprimierungspakets herunterladen, das ursprüngliche Verzeichnis C:php löschen, die neue Version in das Verzeichnis C:php dekomprimieren und dann IIS neu starten. Es ist nicht erforderlich, Konfigurationen zu ändern oder Dateien in das System32-Verzeichnis zu kopieren. Ist das nicht sehr praktisch?