solucion que estado error 5xx apache php

apache - que - internal server error centos



¿Cómo puedo hacer que PHP muestre el error en lugar de darme 500 Internal Server Error (7)

Intenta no ir

MAMP > conf > [your PHP version] > php.ini

pero

MAMP > bin > php > [your PHP version] > conf > php.ini

y cambiarlo allí, funcionó para mí ...

Esta pregunta ya tiene una respuesta aquí:

Esto nunca ha sucedido antes. Usualmente muestra el error, pero ahora solo me da un error interno de 500 servidores. Por supuesto, antes, cuando mostraba el error, eran servidores diferentes. Ahora estoy en un servidor nuevo (tengo la raíz completa, así que si necesito configurarlo en algún lugar de php.ini, puedo.) ¿O tal vez sea algo con Apache?

Lo he aguantado simplemente transfiriendo el archivo a mi otro servidor y ejecutándolo allí para encontrar el error, pero eso se ha vuelto demasiado tedioso. ¿Hay alguna manera de arreglar esto?


Permitir que se muestre el error desde el código PHP no funciona para mí. En mi caso, usando NGINX y PHP-FMP, hago un seguimiento del archivo de registro usando grep . Por ejemplo, sé que el nombre del archivo mycode.php causa el error 500, pero no sé qué línea. Desde la consola, uso esto:

/var/log/php-fpm# cat www-error.log | grep mycode.php

Y tengo la salida:

[04-Apr-2016 06:58:27] PHP Parse error: syntax error, unexpected '';'' in /var/www/html/system/mycode.php on line 1458

Esto me ayuda a encontrar la línea donde tengo el error tipográfico.


Si todo lo demás falla, intente mover (es decir, en bash) todos los archivos y directorios "de distancia" y vuelva a agregarlos uno por uno.

Acabo de descubrir que mi archivo .htaccess estaba haciendo referencia a un archivo .htpasswd inexistente. (#tonto)


Tenga cuidado de comprobar si

display_errors

o

error_reporting

está activo (no es un comentario) en otro lugar en el archivo ini.

Mi servidor de desarrollo se negó a mostrar errores después de la actualización a Kubuntu 16.04. Revisé php.ini varias veces ... resultó que había un diplay_errors = apagado; cerca de 100 líneas debajo de mi

display_errors = on;

¡Así que recuerda que el último cuenta!


Utilice "php -l <nombre de archivo>" (que es una "L") de la línea de comando para generar el error de sintaxis que podría estar causando que PHP arroje el error de estado 500. Saldrá algo así como:

Error de PHP Parse: error de sintaxis, inesperado ''}'' en <nombre de archivo> en la línea 18


Vale la pena señalar que si su error se debe a .htaccess, por ejemplo, falta un rewrite_module, aún verá el error del servidor interno 500.


Compruebe las configuraciones error_reporting , display_errors y display_startup_errors en su archivo php.ini . Deben establecerse en E_ALL y "On" respectivamente (aunque no debe usar display_errors en un servidor de producción, por lo tanto, deshabilítelo y use log_errors si / cuando lo implementa). También puede cambiar estas configuraciones (excepto display_startup_errors ) al comienzo de su script para establecerlas en tiempo de ejecución (aunque es posible que no capture todos los errores de esta manera):

error_reporting(E_ALL); ini_set(''display_errors'', ''On'');

Después de eso, reinicie el servidor.