Mostrar errores PHP en la página, en vez de error 500

Estoy entrando en mi servidor y veo un error 500 que no me deja entender qué es lo que está ocurriendo. Por lo visto el error 500 es un error de...

La FAQ Mostrar errores PHP en la página, en vez de error 500 tiene

Pertenece a la categoría:
Pregunta
Estoy entrando en mi servidor y veo un error 500 que no me deja entender qué es lo que está ocurriendo. Por lo visto el error 500 es un error de programación en PHP. Mi alojamiento es PHP y estas páginas deberían estar funcionando en este servidor, porque las tengo funcionando correctamente en mi servidor local.



¿Existe alguna manera de hacer que el servidor muestre los errores PHP en vez de sacar el error 500? Porque yo antes, cuando tenía errores de PHP en mi página, salía el error en la propia página y entonces se podía entender qué es lo que estaba pasando.
Respuesta de Miguel Angel Alvarez
Vamos a ver. El tema que tienes puede venir por varios temas.

Uno de ellos, el más probable, es bien simple, porque sólo tienes que configurar el PHP.ini para que muestren los errores de PHP. Esto se hace con la directiva del PHP.ini display_errors.

Lo más seguro que tendrás en tu PHP.ini la variable de esta manera:

display_errors = Off

Esto sería lo correcto para un servidor en producción (el servidor en el que entran los usuarios para ver la página), que debería funcionar correctamente. En un entorno de producción puede ser buena idea no mostrar los errores PHP para que los usuarios no vean informaciones críticas o delicadas. Pero claro, si no ves los errores, puede que sea dificil saber qué es lo que está pasando. Entonces, en el php.ini puedes colocar:

display_errors = On

Ahora bien, también tendrías que tener acceso al php.ini. Si no tienes acceso a modificar ese fichero, pregunta al servicio técnico de tu alojamiento para que te digan cómo mostrar los errores. Quizás ellos te faciliten, a través del panel de control de tu hosting, una opción para ver el log de errores PHP.

Bueno... y otra de las cosas que pueden pasar es que tengas un error en tu fichero .htaccess. Si es que tienes un fichero de estos en tu servidor, prueba momentáneamente a quitarlo, para ver si el error persiste. Si ya no te da ese error, pues revisa el htaccess para ver qué es lo que pueda estar pasando.
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

Fernando Martin

02/12/2008
Hola!
A ver si puedo devolver alguna de las tantas ayudas que recibí de desarrolloweb!

Para mostrar los errores, como decía Miguel, tenés dos caminos:
1) Modificar el php.ini (lo cual es delicado y si estas en un servidor compartido no lo vas a poder editar)
2) Colocar el código necesario en tu .php para modificar el informe de errores *solo para ese archivo (no afecta el predeterminado de tu sitio o server)*
Agregá en la primer linea:

// Reportar todos los errores de PHP
error_reporting(E_ALL);

o bien (si el anterior no funcionó)

// Lo mismo que error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

Esto hará que tu archivo indique TEMPORALMENTE que para ese archivo imprima los errores, por ende lo deberías hacer en tu archivo index.php, o como sea que se llame tu archivo.

Saludos desde Buenos Aires!

TecnoInfo

31/8/2009
Mostrar el error
Si usas Internet Explorer:

Entra en Menú Herramientas > Opciones de Internet > Opciones Avanzadas

Luego desmarcar la opción que dice: Mostrar mensajes descriptivos de los errores http.

Debería funcionar, espero que si.

Saludos.

Aprecia el aporte de otros, porque seguramente ellos pasaron mucho tiempo investigando para que ahora lo consigas "rapido".

Fran Esc

16/1/2010
Error de programacion PHP
El Error 500 normalmente sale porque PHP está mal programado. puede faltar el ;(punto y coma) al final de una expresion. o puede estar algo mal digitado revisa todo.

Prueba en el LocalHost que ahi si te dice que linea esta mal.
En servidor de internet solo te muestra error 500

salva-navas

19/10/2011
Errores en PHP
Esto es muy fácil simplemente coloca en la PRIMERA LÍNEA DE CÓDIGO ESTO:

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>

Sergio

23/1/2013
Excelente Respuesta
"Esto es muy fácil simplemente coloca en la PRIMERA LÍNEA DE CÓDIGO ESTO:

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>"

Muchas gracias, tenia exactamente el mismo problema y solucionaste mucho tiempo de buscar soluciones con un par de lineas.
FAQ relacionadas
Volver al árbol de categoríasVolver al árbol de categorías