Installieren Sie PHP 5 auf einem IIS Internet Information Service Webserver.
Eine der populärsten Entwicklzungsplatformen im Web ist PHP, mit welche viele Applikationen und Webseiten wie Facebook, Wordpress und Joomla betrieben werden. Die meisten dieser Systeme sind für den Einsatz des Apache Web Servers unter Linux designed, jedoch ist es ebenfalls möglich PHP mit dem IIS 7 unter Windows Server 2008/R2 zu betreiben
Konfigurieren von PHP
Um in Windows den PHP Code auszuführen, müssen die PHP Binary Files auf dem Webserver kopiert werden. Es ist keine dezidierte Installation notwendig, jedoch einige Schritte müssen gemacht werden, um PHP korrekt auszuführen.
Schritt 1: Die PHP Windows Binaries herunterladen und extrahieren (z.B. C:\PHP)
Für den IIS 7 sind die non thread safe binaries notwendig.
Konfigurieren von IIS 7 um FastCGI auszuführen
Internet Information Services (IIS) 7 hat das FastCGI Framework inkludiert, welches als Teil des Installation Packetes enthalten ist.
Schritt 2: Um sicherzustellen, dass FastCGI aktiviert ist, überprüfen Sie das Rollen Services unter Server Manager > Roles > Web Server.
Schritt 3: Stellen Sie sicher, dass die "CGI" Option in der Kategorie “Application Development” installiert ist. Falls dies nicht der Fall ist, aktivieren Sie dieses und aktualisieren Sie Ihre IIS 7 Installation.
PHP Manager für IIS verwenden um PHP zu konfigurieren
Schritt 4: Von der Download Seite das passende Installations Packet für Ihren Webserver herunterladen und installieren. Der PHP Manager wird nur von der IIS Versions 7.0 and höher supported. Nach der Installation öffnet man den IIS Manager, in dem man das "PHP Manager" Feature findet.
Wenn Sie den PHP Manager öffnen, stellt dieser eine Konfigurationsübersicht der PHP Installation dar, welche in IIS registiert und gerade aktiv ist. Wenn kein PHP mit IIS registriert ist, kann nur die Aktion zum Registrieren einer neuen PHP Version ausgeführt werden.
PHP in IIS registrieren
Schritt 5: Um eine neue PHP Version zu registrieren klicken Sie auf "Register new PHP version" und geben Sie den vollen Pfad zum Speicherort der PHP Anwendungsdatei an: php-cgi.exe
Nach dem Bestätigen mit "OK" wird die neue PHP Version mit IIS registriert und aktiv. Ab nun verwenden alle Seiten des IIS per default diese PHP Version
Überprüfen der existierenden PHP Installation und korrigieren der Konfigurationsfehler
Um PHP auf dem IIS ordnungsgemäß ausführen zu können, sind einige Einstellungen im IIS und PHP nötig. PHP Manager überprüft, ob alle Einstellungen korrekt sind. Wenn Einstellungen nicht richtig konfiguriert sind, kann PHP Manager diese richtigstellen.
Falls dieses der Fall ist, wird beim öffnen des PHP Managers eine Warnung angezeigt.
Wenn Sie auf den "View Recommendations" Link klicken, werden alle bestehenden Konfigurationsfehler angezeigt. Sie können sich alle Fehlerbeschreibungen und Lösungen anzeigen lassen.
Ebenfalls kann ausgewählt werden, welcher Fehler behoben werden soll.
Wechsel zwischen unterschiedlichen PHP Versionen
Nachem multiple PHP Versions im IIS registriert worden sind, kann im PHP Manager leicht zwischen den Versionen auf Server und Site Level gewechselt werden. Das soll heißen, dass IIS so konfiguriert werden kann, dass einige Seiten die ein Version und andere Seiten die Andere verwenden können.
Error Reporting konfigurieren
PHP Manager kann verwendet werden, um das Error Reporting Level in PHP zu konfigurieren. Wenn IIS in einer Entwicklungsumgebung verwendet wird, dann wird das ausführliche Error Reporting nützlich sein, indem alle Errors, Warnings und Infos der PHP Applikation angezeigt werden. Wenn ISS allerdings in einer Produktivumgebung verwendet wird, werden Errors in einem Log File und nicht direkt am HTTP Client wiedergegeben.
Runtime Limits konfigurieren
Unterschiedliche timeouts und Limits können auf der "PHP Runtime Limits" Seite editiert werden.
Konfigurieren aller PHP Settings
Alle verfügbaren PHP Einstellungen können auf der "PHP Settings" Seite hinzugefügt, gelöscht und bearbeitet werden.
Dabei sollten Sie die Werte wie folgt verändern:
cgi.force_redirect = 0
fastcgi.impersonate = 1
PHP Extensions aktivieren oder deaktivieren
PHP extensions können auf der "PHP Extensions" Seite aktiviert oder deaktiviert werden.
Ausführen von FastCGI via PHP in IIS konfigurieren
Sobald PHP mit dem PHP Manager installiert und konfiguriert wurde, ist dieser Schritt nicht notwenig, da PHP Manager alle relevanten Schritte durchführt.
Trotzdem möchte ich diese Einstellungen kurz überfliegen
Als nächstes müssen im ISS "Handler Mapping" die PHP Scrips mit der richtigen Anwendung verknüpft werden.
Im Handler Mappings, hinzufügen eines neuen Module mappings.
Mit dem "Add Module Mapping" den "Request path" der PHP Datein (*.php) setzen. Das Mudul "FastCgiModule" auswählen. Die "Executable" auf den Speicherort der installierten PHP Instanz setzen: php-cgi.exe
Wählen Sie einen aussagekräftigen Namen für das mapping aus, wie z.B. PHP v5.3.3
Im Bestätigungsfenster die Frage mit "Yes" beantworten um PHP als FastCGI Applikation auszuführen.
Alle Änderungen müssen übernommen und via Eingabeaufforderung der IIS restartet werden um sicherzustellen, dass alle neuen Einstellungen greifen
Überprüfen der phpinfo() output
Ab diesem Zeitpunkt ist der Server "ready to go", aber nur um sicher zu gehen sollten wir unser Setup auf die korrekte Funktion überprüfen.
Die phpinfo() Funktion in PHP stellt detailierte Informationen über alle Parameter von PHP dar. Um die phppinfo() output über den PHP Manager anzuzeigen, verwenden Sie "Check phpinfo()".
Fazit
Sobald PHP auf Ihrem Windows System läuft, können Sie sich einen Überblick über die Vorteile von PHP basierenden Applikationen in Entwicklung- sowie Produktivumgebungen schaffen.