PHP 5.3.1 mit IIS 6.0 gibt 404 zurück, aber die Datei ist wirklich da


2

Ich habe PHP 5.3.1 VC9 für Windows x86 installiert und IIS FastCGI als Ziel-Webserver ausgewählt. Mein System ist ein 32-Bit-Windows XP mit IIS 6.0. Davor habe ich die IIS FastCGI-Erweiterung installiert.

Wenn ich jetzt auf meiner Website surfe, sehe ich immer noch alle meine alten Dateien, aber jede Datei mit der Erweiterung .php gibt jetzt einen 404-Fehler zurück, obwohl die Datei existiert.

Ungeachtet der Tatsache, dass Microsoft-Produkte geradezu LÜGEN, wenn sie Fehlerantworten liefern (ein 404 ist NICHT GEFUNDEN, ein 500+ ist ein WEBSERVER-FEHLER), was kann ich tun, um meine PHP-Dateien tatsächlich über den FastCGI-Prozessor auszuführen, C:\Program Files\PHP\php-cgi.exewie in der Konfiguration angegeben Datei C:\Windows\system32\inetsrv\fcgiext.ini:

[Types]
php=PHP

[PHP]
ExePath=C:\Program Files\PHP\php-cgi.exe
InstanceMaxRequests=10000
ActivityTimeout=600
RequestTimeout=600
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:C:\Program Files\PHP\

Dies ist die Standardkonfiguration des PHP-Installationsprogramms. Klar, es hat funktioniert, weil IIS nicht anfangen würde, über existierende PHP-Dateien zu lügen, wenn es nicht wüsste, dass es mit diesen Dateien etwas Besonderes machen muss.

Antworten:


3

Okay, durch viele Versuche und Irrtümer habe ich das Problem gefunden.

Ich musste:

  • Klicken Sie mit der rechten Maustaste auf Arbeitsplatz und wählen Sie Verwalten
  • Öffnen Sie "Dienste und Anwendungen" -> "Internetinformationsdienste" -> "Websites" -> " mywebsite" (wobei mywebsite "Standardwebsite" sein kann oder wie auch immer meine Website heißt).
  • Klicken Sie mit der rechten Maustaste auf mywebsite und wählen Sie Eigenschaften
  • Wählen Sie die Registerkarte "Basisverzeichnis" und klicken Sie auf die Schaltfläche "Konfiguration"
  • Wählen Sie entweder die Erweiterung .php und dann die Schaltfläche Bearbeiten ... oder, falls .php nicht aufgeführt ist, die Schaltfläche Hinzufügen ...
  • Aktivieren Sie C:\WINDOWS\system32\inetsrv\fcgiext.dlldie Kontrollkästchen "Skriptmodul" und "Vergewissern Sie sich, dass die Datei vorhanden ist" .php, und stellen Sie sicher, dass die ausführbare GET,HEAD,POSTDatei und die Erweiterung auf " Verben" beschränkt sind

Perfekt danke. Die offiziellen IIS-Installationsanweisungen enthalten diesen Schritt nicht!
Mark Henderson

Danke, PP. Ich hatte genau das gleiche Problem - ich zog mir die Haare aus. Ihre Lösung hat wie ein Champion funktioniert.
Daveh551
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.