sunat - 500 Internal Server Error para el archivo php no para html
internal server error wordpress (6)
Esta pregunta ya tiene una respuesta aquí:
Mi sitio tiene 4-5 páginas estáticas solamente. index.html y index.php ambos están allí. index.html está funcionando bien. Si cambio a index.php, está dando 500 Internal Server Error
. No sé dónde está mi error?
Nota: si utilizo el archivo .htaccess con php_flag display_errors 1
,
Se muestra Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
Si utilizo el archivo .htaccess con el archivo empty
,
Se muestra Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Y si doy ../contact-us.php
, se muestra correctamente.
Gracias...
500 Internal Server Error se muestra si su código php tiene errores fatales, pero la visualización de error está desactivada. Puede intentar esto para ver el error en sí mismo en lugar de la página de error 500:
En tu archivo php:
ini_set(''display_errors'', 1);
En el archivo .htaccess:
php_flag display_errors 1
Estaba cambiando los finales de línea (de Windows CRLF a Unix LF) en el archivo .htaccess
que lo arregló para mí.
Estaba teniendo este problema porque estaba tratando de conectarme a MySQL pero no tenía el paquete requerido. Lo descubrí por el comentario de @Amadan para verificar el registro de errores. En mi caso, estaba teniendo el error: Call to undefined function mysql_connect()
Si su archivo PHP tiene algún código para conectarse con un db My-SQL, es posible que necesite instalar php5-mysql
primero. Estaba recibiendo este error porque no lo había instalado. Todos mis permisos de archivos fueron buenos. En Ubuntu, puede instalarlo con el siguiente comando:
sudo apt-get install php5-mysql
Google me guía aquí pero no solucionó el mío, esta es una pregunta muy general y hay varias causas, por lo que publico mi problema y solución aquí como referencia en caso de que alguien pueda leer esto más tarde.
Otra posible causa del error 500 es el error de sintaxis en la función de header(...)
, como esta:
header($_SERVER[''SERVER_PROTOCOL''] . ''200 OK'');
Tenga en cuenta que debe haber espacio entre el protocolo del servidor y el código de estado, por lo que debe ser:
header($_SERVER[''SERVER_PROTOCOL''] . '' 200 OK'');
Así que sugiero que compruebes tu llamada de encabezado http si la tienes en tu código.
Sé que esta pregunta es antigua, sin embargo, me encontré con este problema en Windows 8.1 al tratar de utilizar los archivos .htaccess para volver a escribir. Mi solución fue simple, olvidé modificar la siguiente línea en httpd.conf
#LoadModule rewrite_module modules/mod_rewrite.so
a
LoadModule rewrite_module modules/mod_rewrite.so
Reinició el monitor de apache, ahora todo funciona bien. Solo publique esto como respuesta porque alguien en el futuro puede encontrarse con el mismo problema con una solución simple.
¡Buena suerte!
Un archivo PHP debe tener permisos establecidos en 644. Cualquier carpeta que contenga archivos PHP y acceso PHP (para cargar archivos, por ejemplo) debe tener permisos establecidos en 755. PHP ejecutará un error de 500 al tratar con cualquier archivo o carpeta que tenga permisos establecidos a 777!