Fehler bei der Installation von PHP5 auf IIS6

7

Ich versuche, PHP auf meinem Windows Server 2003-Computer zu installieren, der IIS6 verwendet. Ich habe diese Anleitung zur Installation befolgt , einschließlich der Verwendung der Binärdateien von fastCGI. Ich glaube, ich habe alles richtig gemacht, als ich meine phpinfo () erstellt habe. Seite Ich erhalte Folgendes: Serverfehler, Verbindung zum FastCGI-Server nicht möglich.

Ich habe versucht, in allen Protokollen zu suchen, die mir einfallen. Nichts im IIS-Protokoll ist hilfreich, PHP hat noch nie einen Fehler oder etwas protokolliert und nichts in meinem Ereignisprotokoll.

Hilfe bitte und danke :)

numone
quelle

Antworten:

11

Das ist ein ziemlich veralteter Blogeintrag und das Leben hat sich seitdem erheblich weiterentwickelt. Also vergiss alles was du auf dieser Seite liest :)

1. Laden Sie PHP herunter:

Laden Sie die neueste stabile Version von PHP für Windows herunter. Laden Sie in diesem Fall die ZP-Datei PHP 5.3.6 x86 Non Thread Safe herunter (Hinweis: Die Versionsnummer kann sich ändern, wenn das PHP-Team neue stabile Binärdateien veröffentlicht):

http://windows.php.net/download/
http://windows.php.net/downloads/releases/php-5.3.6-nts-Win32-VC9-x86.zip

Extrahieren Sie den Inhalt der Zip-Datei in einen Ordner mit dem Namen, C:\PHPsodass Sie in diesem Ordner die folgende Unterordnerstruktur haben:

C:\PHP\dev , C:\PHP\ext , C:\PHP\extras, etc

Benennen Sie eine der php-*.iniDateien um php.iniund bearbeiten Sie sie entsprechend Ihren Anforderungen.

2. Installieren / Konfigurieren Sie die FastCGI-Erweiterung von Microsoft für IIS5.1 / 6.0:

Installieren Sie die Microsoft IIS6 FastCGI-Erweiterung, die Sie hier herunterladen können:

http://www.iis.net/download/fastcgi

Bearbeiten C:\Windows\System32\InetSrv\fcgiext.iniSie nach der Installation so, dass nur Folgendes enthalten ist:

[Types]
php=PHP

[PHP]
ExePath=C:\PHP\php-cgi.exe

3. Konfigurieren Sie die IIS PHP Scriptmap:

Bearbeiten oder fügen Sie die .phpSkriptzuordnung zu Ihrer ausgewählten Website hinzu (oder Sie können sie global hinzufügen), indem Sie mit der rechten Maustaste auf die Website klicken und Eigenschaften auswählen:

Geben Sie hier die Bildbeschreibung ein

Wählen Sie die Home DirectoryRegisterkarte und klicken Sie auf Configuration:

Geben Sie hier die Bildbeschreibung ein

Klicken Sie auf Add(oder wenn Sie die .phpSkriptzuordnung noch aufgelistet haben, entfernen Sie sie und fügen Sie sie erneut hinzu).

Sie müssen die Felder Executable und Extension mit den folgenden Werten füllen:

Executable: C:\WINDOWS\system32\inetsrv\fcgiext.dll
Extension: .php

Klicken Sie auf OK und speichern Sie diese Änderungen.

4. Konfigurieren Sie die PHP FastCGI-Einstellungen in PHP.INI:

Öffnen Sie C:\PHP\php.iniin einem Editor und suchen und konfigurieren Sie diese Einstellungen:

fastcgi.impersonate = 1
cgi.fix_pathinfo = 1
cgi.force_redirect = 0
date.timezone = Europe/London  ; (http://uk3.php.net/manual/en/timezones.php)

Es scheint, dass Sie jetzt die Zeitzone festlegen müssen, damit die phpinfo();Seite richtig gerendert wird, aber es ist eine gute Idee, dies trotzdem festzulegen.

5. Testen Sie PHP:

Erstellen Sie eine Datei test.phpmit dem folgenden Namen:

<?php
    phpinfo();
?>

Navigieren Sie zu dieser Seite und wenn alles in Ordnung ist, sollten Sie sehen:

Geben Sie hier die Bildbeschreibung ein

Danach liegt es an Ihnen, Ihre Konfiguration zu optimieren, z. B. zu entscheiden, welche Erweiterungen verwendet werden sollen, und so weiter.

Nach Gedanken:

Je nachdem, wie Ihr System eingerichtet ist, müssen Sie möglicherweise die Berechtigungen für den C:\PHPOrdner anpassen . Wenn es sich um eine hübsche Standardinstallation handelt und Ihre Websites mit dem Netzwerkdienstkonto in Anwendungspools ausgeführt werden und Sie das generierte IUSR_<MACHINE_NAME>anonyme Konto verwenden, sollten Sie nichts ändern müssen.

Kev
quelle
Ich habe vergessen, dies zu aktualisieren: PI wechselte schließlich von iis.net zu fastCGI und es löste das Problem. Sie haben dort jedoch eine sehr gute Anleitung, vielen Dank. e: uff, ich habe noch keine 15 Wiederholungen auf dieser Seite, daher kann ich Ihre Antwort noch nicht "hoch", werde sie später "hoch", sobald ich die Wiederholung bekomme.
Nummer
@numone - Ich habe dir gerade eine Beule auf 20 für die Frage gegeben :)
Kev
0

Möglicherweise finden Sie Fehler im PHP-Protokoll in C: \ WINDOWS \ temp \ php-Errors.log

Sie werden nur im Ereignisprotokoll angezeigt, wenn Sie Ihre Datei php.ini ändern (in c: \ windows, wenn Sie diese Anweisungen befolgt haben) und das Semikolon in der Zeile entfernen

; error_log = syslog

Paulmorriss
quelle
Eigentlich sieht es so aus, als würde er eine schrecklich veraltete Installationsanleitung verwenden, die auf die Arche zurückgeht.
Kev