Error 500 en una nueva instalación de IIS y PHP

32

Cuando intento ejecutar un archivo PHP en Windows Server 2012 e IIS, sigo recibiendo un error 500. No puedo encontrar ningún registro detallado ni nada. Sin embargo, cuando voy al Administrador PHP para IIS y hago clic en verificar configuración, aparece el siguiente error:

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 

Instalé PHP usando Microsoft Web Platform Installer 5.0 en una nueva instalación de Windows Server.

Soy nuevo en IIS proveniente de Linux. Por lo tanto, no estoy lo suficientemente "aprendido" en IIS para saber qué está pasando. He intentado actualizar la actualización 4 redistribuible de C ++ 2012 4 como sugieren algunos sitios web. ¿Alguien más tiene otras ideas?

EDITAR: Otra cosa que verifiqué fue el límite de memoria. Un sitio sugirió que mi límite de memoria necesitaba ser aumentado. Ningún cambio.

EDITAR: Pregunta: ¿Windows debe reiniciarse para que los cambios de PHP surtan efecto?

alexander7567
fuente
¿Qué versión de PHP?
Kev
Bueno, cuando instalé php 5.5 con ese instalador de Microsoft, también instaló 5.3.
alexander7567

Respuestas:

53

Existe una posibilidad bastante buena de que te estés perdiendo el tiempo de ejecución de VC ++ correcto para la versión de PHP que estás ejecutando.

Si está ejecutando PHP 5.5.x, debe asegurarse de que esté instalado el tiempo de ejecución VC ++ 11:

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

Asegúrese de descargar e instalar la versión x86 ( vcredist_x86.exe), PHP en Windows aún no es de 64 bits.

Si está ejecutando PHP 5.4.x, entonces necesita instalar el tiempo de ejecución de VC ++ 9:

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

Kev
fuente
1
Estabas en lo correcto. Ya hice el x64 ya que era una máquina de 64 bits. Instalé el x86 e instantáneamente (no se requiere reiniciar) comenzó a funcionar. ¡Gracias! ¡Me revolví el cerebro por horas!
alexander7567
¡Brillante! Lo arreglé de inmediato para mí también. +1
Will Appleby
2
¡Gracias! La instancia de PHP 5.6 requiere tiempos de ejecución de VC ++ 11 (VS 2012)
wchoward
Gracias ! Originalmente me perdí la parte sobre x86 pero después de fallar miserablemente vi lo que me perdí y todo funciona bien ahora.
Alexandre Danault
55
Para cualquiera que tenga este problema con PHP 5.6 , necesita la versión x86 de Visual C ++ Redistributable para Visual Studio 2012 Update 4 (vcredist_x86.exe) , que se puede obtener en la siguiente página: microsoft.com/en-us/download/details .aspx? id = 30679
derekmx271
6

Me llamó la atención un mensaje similar, y resultó que no había instalado el rol del servidor CGI (en IIS -> Desarrollo de aplicaciones).

De Orbonia
fuente
¿Qué tan similar es el mensaje?
Deer Hunter
Instalé el tiempo de ejecución de VC ++ 11 pero también tuve que instalar el soporte CGI para que funcione. En Windows 8.1 e IIS 8.5. Encuéntralo enTurn windows features on or off > Internet information services > application development features > CGI
jxmallett
4

Tuve el mismo error para PHP 7.0.3 en un servidor R2 2012 con IIS 8.5.

La solución es instalar: Visual C ++ Redistributable para Visual Studio 2015 32bits

Todo funcionó correctamente después de instalar esto.

Tidoy007
fuente
1

Todavía tenía el error 500 después de instalar Visual C ++ Redistributable para Visual Studio 2015 32bits.

Ejecuté procmon desde microsoft sysinternals y cuando solicité mi página web php encontrado

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

w3wp.exe es el grupo de aplicaciones que se ejecuta bajo IIS

Al otorgarle al usuario específico del grupo de aplicaciones permisos de LECTURA / EJECUCIÓN para c: \ php, se solucionó el problema.

robar
fuente