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

9604
PP.

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. Zuvor habe ich die IIS FastCGI-Erweiterung installiert.

Wenn ich jetzt auf meiner Website browse, kann ich immer noch alle meine alten Dateien sehen, aber jede Datei mit der Erweiterung .php gibt jetzt einen 404-Fehler zurück, obwohl die Datei vorhanden ist.

Trotz der Tatsache, dass Microsoft-Produkte geradezu Lies geben, wenn sie Fehlerantworten bereitstellen (ein 404 ist NICHT GEFUNDEN, ein 500 ist ein WEBSERVER-FEHLER). Was kann ich tun, um meine PHP-Dateien über den FastCGI-Prozessor gemäß den Angaben C:\Program Files\PHP\php-cgi.exein der Konfiguration auszuführen 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 Out-of-the-Box-Konfiguration des PHP-Installationsprogramms. Es hat offensichtlich funktioniert, weil IIS nicht über bestehende PHP-Dateien lügen würde, wenn er nicht wüsste, dass er mit diesen Dateien etwas Besonderes tun musste.

2

1 Antwort auf die Frage

3
PP.

Okay durch viel Versuch und Irrtum fand ich das Problem.

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" oder was auch immer auf meiner 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" aus und klicken Sie auf die Schaltfläche "Bearbeiten". Wenn .php nicht aufgeführt ist, klicken Sie auf die Schaltfläche "Hinzufügen"
  • Machen Sie die ausführbare Datei C:\WINDOWS\system32\inetsrv\fcgiext.dll, die Erweiterung .phpund stellen Sie sicher, dass die Verben beschränkt GET,HEAD,POSTsind. Aktivieren Sie die Kontrollkästchen "Skriptmodul" und "Überprüfen, ob eine Datei vorhanden ist"
Perfekt danke. Die offiziellen IIS-Installationsanweisungen enthalten diesen Schritt nicht! Mark Henderson vor 14 Jahren 0
Danke, PP. Ich hatte genau das gleiche Problem - meine Haare herauszuziehen. Ihre Lösung funktionierte wie ein Champion. daveh551 vor 14 Jahren 0