
Estamos ejecutando PHP 5.2.5 en un servidor IIS 7 y tenemos problemas para hacer visibles los errores de PHP... En este momento, cada vez que tenemos un error de PHP, el servidor devuelve un error 500 con el mensaje "La página no puede ser "Se muestra porque se ha producido un error interno del servidor".
Esta podría ser una buena configuración para sitios web de producción, pero es bastante molesta en un servidor de desarrollo... ;-)
Intenté configurarlo php.ini
para mostrar errores en la pantalla y registrarlos en una carpeta específica, pero parece que el servidor detecta todos los errores antes y los previene y maneja con PHP...
¿Alguien sabe qué tenemos que hacer para que IIS muestre errores de PHP en la pantalla? ¡Se agradecería cualquier enlace, consejo o tutorial sobre el tema!
Respuesta1
Solo para verificar, ¿tiene el registro configurado en error_reporting = E_ALL
y display_errors = On
en su php.ini
? Normalmente esto es suficiente para mostrar estos errores en IIS 7.
A continuación, eche un vistazo a la configuración de IIS, ya que puede estar configurada para mostrar mensajes de error solo localmente. En el editor de configuración de IIS 7, esto se encuentra en system.webServer->httpErrors. Deberá cambiar el modo de error a Detallado desde DetailLocalOnly. Obviamente, esto ahora significa que cualquiera que navegue por su sitio podrá ver el error.
Alternativamente, si desea mantenerlos locales, puede usar Escritorio remoto para iniciar sesión en el servidor y ejecutar la aplicación desde allí, si puede.
Respuesta2
Solo quería agregar que "existingResponse" debe configurarse en "PassThrough". No recibí ningún mensaje de error real sin esa configuración adicional.
Respuesta3
Puede hacerlo fácilmente utilizando la GUI del Administrador de IIS. Seleccione su sitio y haga doble clic en Páginas de error. Luego presione 'Editar configuración de funciones...' y seleccione la opción 'errores detallados' en lugar de los 'errores detallados para solicitudes locales y páginas de error personalizadas para solicitudes remotas' predeterminadas. Voilà, ¡así de simple!
Respuesta4
Probé estos y no funcionó. Específicamente en el "Editor de configuración", necesitaba mantener la "Respuesta existente" en "automático".
Sin embargo, descubrí que si usa FastCGI necesita ir al administrador de IIS -> sitio web predeterminado -> FastCGI-> luego seleccionar c:\php\php-cgi-.exe
y "editar...".
En "Modo de error estándar", debe cambiar ReturnGeneric500
aReturnStdErrIn500
Esto mostrará los errores de PHP si los tiene activados en PHP.INI o mediante la configuración en el código PHP.