IIS no muestra errores detallados de PHP; en su lugar, muestra la falla 500 del servidor

9

Estoy acostumbrado a servir sitios desde Apache, pero ahora me veo obligado a usar un servidor IIS.

Varias de mis páginas PHP devuelven el error 500 y no puedo depurar porque IIS está suprimiendo los mensajes de error. Lo intenté ini_set('display_errors',1);en código pero fue en vano.

Los errores se muestran en algunos sitios, pero no en el que quiero depurar en particular, así que no creo que sea una configuración global de PHP, sino algo relacionado con la configuración del sitio.

No puedo encontrar una respuesta clara sobre cómo habilitar la visualización de errores de PHP.

Encontré este enlace pero no estoy seguro de dónde encontrar " system.webServer-> httpErrors ".

¿Cómo puedo habilitar la visualización de errores en PHP bajo IIS?

Andy
fuente

Respuestas:

6

¿Qué hay de registrarlos en su lugar?

Edite php.ini y establezca

error_reporting = E_ALL & ~E_NOTICE
log_errors = On

Y también

error_log = syslog para iniciar sesión en el registro de eventos de Windows, o

error_log = location/of/logfile para iniciar sesión en un archivo.

Adaptador
fuente
Tengo error_reporting, log_errorsy error_logtodo configurado de esta manera, pero todavía no es el registro de errores para el sitio Joomla. Este sitio se copió de un servidor Apache. Importé las .htaccessreglas en IIS 7.5; pero, por desgracia, sigue fallando. ¿Por casualidad tienes alguna idea de qué más podría necesitar investigar?
Mike Perrenoud
5

Suponiendo que tiene todas las configuraciones correctas en su archivo php.ini

  1. Seleccione su sitio web en el Administrador de IIS
  2. A la derecha, haga doble clic en el icono de Páginas de error
  3. En el extremo derecho debajo de 'Acciones', haga clic en el enlace 'Editar configuración de funciones'
  4. En la ventana emergente que aparece, elija el botón de opción 'Errores detallados'
  5. Actualice su página PHP para ver errores detallados

Gracias por el último comentario en esta página.

AnotherLongUsername
fuente
0

Descubrí que es una buena idea acceder a una página alojada en IIS con InternetExplorer para realizar pruebas.

En mi caso, los registros de error de php estaban limpios, no obtuve ninguna pista a partir de ahí.

Obtuve un "error de servidor interno 500" no expresivo cuando me conecté con Firefox / Chrome: ingrese la descripción de la imagen aquí

... pero un mensaje de error más útil ("Error HTTP 500.0 - Error interno del servidor C: \ PHP \ php-cgi.exe - El proceso FastCGI salió inesperadamente") cuando se usa InternetExplorer: ingrese la descripción de la imagen aquí

Quizás también intente conectarse desde http: // localhost en el servidor mismo.

eli
fuente