500 Fehler bei der Neuinstallation von IIS und PHP

32

Beim Versuch, eine PHP-Datei unter Windows Server 2012 und IIS auszuführen, wird immer wieder eine 500-Fehlermeldung angezeigt. Ich kann keine detaillierten Protokolle oder ähnliches finden. Wenn ich jedoch zu PHP Manager for IIS gehe und auf "Konfiguration überprüfen" klicke, wird die folgende Fehlermeldung angezeigt:

Detailed Error Information:
Module    FastCgiModule 
Notification    ExecuteRequestHandler 
Handler    PHP55_via_FastCGI 
Error Code    0xc0000135 
Requested URL    http://domain.com:80/brkld3ip.php 
Physical Path    drive:\sites\domain.com\brkld3ip.php 
Logon Method    Anonymous 
Logon User    Anonymous 

Ich habe PHP mit Microsoft Web Platform Installer 5.0 auf einer Neuinstallation von Windows Server installiert.

Ich bin neu in IIS und komme aus Linux. Daher bin ich in IIS nicht "erlernt" genug, um zu wissen, was los ist. Ich habe versucht, C ++ Redistributable 2012 Update 4 zu aktualisieren, wie einige Websites vorschlagen. Hat jemand noch andere Ideen?

EDIT: Eine andere Sache, die ich überprüft habe, war Speicherbeschränkung. Eine Seite schlug vor, mein Speicherlimit zu erhöhen. Keine Änderung.

EDIT: Frage: Muss Windows neu gestartet werden, damit PHP-Änderungen wirksam werden?

alexander7567
quelle
Welche Version von PHP?
Kev
Nun, als ich PHP 5.5 mit diesem Microsoft Installer installierte, installierte es auch 5.3.
Alexander7567

Antworten:

53

Es besteht eine gute Chance, dass Ihnen die richtige VC ++ - Laufzeit für die von Ihnen verwendete PHP-Version fehlt.

Wenn Sie PHP 5.5.x ausführen, müssen Sie sicherstellen, dass die VC ++ 11-Laufzeit installiert ist:

http://www.microsoft.com/en-us/download/details.aspx?id=30679

Stellen Sie sicher, dass Sie die x86-Version ( vcredist_x86.exe) herunterladen und installieren. PHP unter Windows ist noch keine 64-Bit- Version .

Wenn Sie PHP 5.4.x ausführen, müssen Sie die VC ++ 9-Laufzeit installieren:

http://www.microsoft.com/en-us/download/details.aspx?id=5582

Kev
quelle
1
Du hattest recht Ich habe das x64 bereits gemacht, da es sich um eine 64-Bit-Maschine handelte. Installierte das x86 und sofort (kein Neustart erforderlich) fing es an zu arbeiten. Vielen Dank! Ich habe mir stundenlang den Kopf zerbrochen!
Alexander7567
Brillant! Reparierte es sofort für mich auch. +1
Will Appleby
2
Vielen Dank! Für die PHP 5.6-Instanz sind VC ++ 11 (VS 2012)
-Laufzeiten
Vielen Dank ! Ursprünglich habe ich den Teil über x86 verpasst, aber nachdem ich kläglich gescheitert bin, habe ich gesehen, was ich verpasst habe und jetzt funktioniert alles gut.
Alexandre Danault
5
Wenn Sie dieses Problem mit PHP 5.6 haben , benötigen Sie die x86- Version von Visual C ++ Redistributable für Visual Studio 2012 Update 4 (vcredist_x86.exe) , die Sie von der folgenden Seite herunterladen können: microsoft.com/en-us/download/details .aspx? id = 30679
derekmx271
6

Ich wurde von einer ähnlichen Meldung überrascht, und es stellte sich heraus, dass ich die CGI-Serverrolle nicht installiert hatte (unter IIS -> Anwendungsentwicklung).

Aus Orbonia
quelle
Wie ähnlich ist die Nachricht?
Deer Hunter
Ich habe die VC ++ 11-Laufzeit installiert, musste aber auch die CGI-Unterstützung installieren, damit es funktioniert. Unter Windows 8.1 und IIS 8.5. Finden Sie es unterTurn windows features on or off > Internet information services > application development features > CGI
jxmallett
4

Ich hatte den gleichen Fehler für PHP 7.0.3 auf einem 2012 R2-Server mit IIS 8.5.

Die Lösung ist zu installieren: Visual C ++ Redistributable für Visual Studio 2015 32 Bit

Nach der Installation hat alles einwandfrei funktioniert.

Tidoy007
quelle
1

Hatte noch den 500er Fehler nach der Installation der Visual C ++ Redistributable für Visual Studio 2015 32bit.

Ran procmon von Microsoft Sysinternals und bei der Anforderung meiner PHP-Webseite gefunden

w3wp.exe C:\PHP\php-cgi.exe "ACCESS DENIED"

w3wp.exe ist der App-Pool, der unter IIS ausgeführt wird

Das Problem wurde behoben, indem dem bestimmten App-Pool-Benutzer die Berechtigung READ / EXECUTE für c: \ php erteilt wurde.

rauben
quelle