Valora este artículo :
2,5/5 | 2 opinión
Este artículo le ha sido útil ?
Sí
No
Vous avez noté 0 étoile(s)
Sommaire
Procédure
Cuando intentas visitar un sitio web y ves el mensaje de error "500 Internal Server Error", significa que algo ha ido mal con el sitio web. El error puede ser especialmente frustrante, ya que puede no darle ninguna información sobre la causa específica del error. Este artículo le muestra cómo depurar un error 500 en su sitio web.
Una página en blanco no es necesariamente un error 500, y viceversa. Un error 500 significa que se ha producido un error durante el procesamiento de la solicitud HTTP. Puede tratarse de un error en la ejecución del script asociado, de un problema de acceso a un recurso, etc., que hace que el servidor web devuelva una respuesta con el código de error 500. Una página en blanco, por otro lado, significa que el servidor web no ha devuelto ningún cuerpo en su respuesta, o incluso ninguna respuesta.
En algunas situaciones, un error 500 significa que el servidor web no tiene ninguna respuesta que dar, y por lo tanto provoca una página en blanco. Este es posiblemente el caso cuando no se ha configurado ninguna página de error 500, o también si la salida de error ha sido desactivada y por lo tanto el sitio no tiene ningún mensaje de error que mencionar.
Algunos navegadores como Chrome e Internet Explorer muestran su propia página de error 500 cuando reciben el código de error del encabezado HTTP sin que el servidor proporcione ningún contenido en el cuerpo de la respuesta:
Los errores 500 suelen estar vinculados a un problema con uno de los archivos .htaccess que actúan sobre la URL, o a un error PHP. Por lo tanto, activando la visualización de errores con la opción php.ini display_errors, debería ver aparecer los errores PHP en lugar del error 500.
Para determinar si tiene un error 500, necesita mirar el código de error HTTP devuelto por el servidor web a su navegador web. Puede identificarlo utilizando la pestaña "Red" de la consola de desarrollador de su navegador:
Lo primero que hay que hacer es comprobar los archivos de registro asociados a la petición HTTP: el archivo de registro de Apache y el archivo de registro de PHP. Los últimos 300 eventos que le conciernen en el fichero de registro de Apache pueden consultarse desde el icono "Errores" de su interfaz cPanel, mientras que el fichero de registro PHP es generalmente el fichero "error_log" visible junto al fichero PHP en cuestión:
Sin embargo, es posible que los errores no se muestren en los registros. Esto puede ser el resultado de una configuración que impide que los errores PHP se muestren y/o registren. Más información.
Sin embargo, si utiliza WordPress, Prestashop o Joomla, es muy posible que los cambios no sean visibles. En este caso, deberáactivar la visualización de errores en sus respectivos archivos de configuración .
La mayoría de los CMS, como WordPress, tienen un sistema interno de gestión de errores, que evita que los parámetros PHP existentes procesen y tomen medidas en función del error encontrado. Al activar el modo de depuración, está pidiendo a este sistema interno de gestión de errores que muestre los errores y/o aumente la verbosidad de los archivos de registro.
Para activar el modo de depuración, puede conectarse directamente al"Administrador de archivos" accesible desde su interfaz cPanel y editar el archivo de configuración asociado para activar este modo.
Si su sitio fue creado con WordPress, puede activar el modo de depuración desde el archivo"wp-config.php" en la raíz de su alojamiento web. Para ello, basta con cambiar la constante"WP_DEBUG" a"true" en lugar de"false".
Si lo desea, también puede añadir la constante "WP_DEBUG_LOG " para registrar los errores en el archivo"wp-content/debug.log".
También debe comprobar que la constante"WP_DEBUG_DISPLAY" no está definida en su fichero de configuración. Si lo está, también deberá establecer este valor en true.
El fichero de configuración debería tener este aspecto:
En Prestashop, puede activar el modo de depuración yendo al archivo"define.inc.php" en la carpeta"config".
Tendrás que cambiar la declaración "_PS_MOD_DEV_" a"true" en lugar de"false". Si es necesario, también puedes activar el modo "_PS_DEBUG_PROFILING_", que te dará más información.
El archivo de configuración debería tener este aspecto:
Para Joomla, puede activar el modo de depuración editando el archivo configuration.php. En este archivo, necesitas cambiar la variable"$debug" a 1 para activarlo. También necesitas cambiar la variable $error_reporting a"maximum" para que se muestren todos los errores.
El archivo de configuración debería tener este aspecto:
Es posible que esté utilizando otro CMS. Para saber cómo activar el modo de depuración , también puede escribir"Nombre del CMS + Depuración" en el motor de búsqueda. Esto debería llevarte directamente a un tutorial que explica cómo activar este modo.
Es relativamente fácil entender el origen de un error 500, ya que muy a menudo son los mismos errores los que se repiten.
1. El primer error, y el más común, es el"Parse error". Suele indicar un problema de sintaxis (un error en la programación de su código). El error se define de la siguiente manera:
Si tomamos el ejemplo del archivo index.php de nuestro sitio Wordpress en el que falta un punto y coma al final de la línea 17, el archivo Web en el que se encuentra el error es el siguiente:
El error visible al ir a la URL será el siguiente:
2. El error"Parse error: syntax error, unexpected end of file" indica que parece que falta algo al final del archivo.
En este código, por ejemplo, falta la llave que cierra la sentencia if.
3. El " Parse Error: syntax error, unexpected (T_STRING), expecting ','or'; '" suele deberse a un error relacionado con las comillas en su código.
En este código, falta la barra invertida sobre la palabra"error", como en el código siguiente, para que funcione:
4. También puedes ver un "ErrorFatal". Este es uno de los errores más serios que puedes encontrar. También hace que su script se detenga. Se define de la siguiente manera:
Este error suele indicar que no se ha definido una función, como en el código siguiente:
Por lo tanto, verá el siguiente error Fatal Error: Uncaught Error: Call to undefined function
Este error suele deberse a una de las siguientes causas:
5. Puede aparecer un error"Fatal Error: cannot redeclare" indicando que la función ha sido definida por segunda vez. El código podría tener este aspecto:
Es muy posible evitar este error:
6. Puede recibir el error"Fatal Error: allowed memory size exhausted".
Esto indica que el script PHP está utilizando demasiada RAM y excede el valor máximo autorizado en PHP.INI. Este es el valor "memory_limit". Puede cambiar este valor en las fórmulas de cPanel. Si, a pesar de aumentar el valor a un nivel suficientemente alto, el problema persiste, puede ser que una operación que consume mucha memoria se esté repitiendo con demasiada frecuencia (o incluso ad infinitum) en su script PHP. Los bucles infinitos también son posibles causas de este tipo de error.
7. El error"Fatal Error: Maximum execution time exceeded" significa que se ha excedido el tiempo de ejecución de su script. Puede modificar el valor"max_execution_time" en su configuración PHP.INI. Tenga en cuenta sin embargo que cualquier proceso que se ejecute durante más de 490 segundos no está permitido en nuestros paquetes de alojamiento compartido cPanel, pero sobre todo que si una página requiere un max_execution_time más alto, esto también significaría que se cargaría más lentamente, lo que generalmente no es deseable. Si la página que ha generado este error procesa muchos datos, le aconsejamos que realice un procesamiento por lotes. Por ejemplo, en lugar de procesar 1000 productos cada vez que se abre la página, sería más adecuado procesar lotes de 100 productos, utilizando peticiones AJAX, por ejemplo. Y obtendrá un TTFB (Time-To-First-Byte) más bajo.
8. El error"Fatal error: Uncaught Error: Call to undefined function mysql_connect()" significa que el módulo"mysql" no está cargado en la versión de PHP que está utilizando. El error se produce cuando:
Puedes cambiar fácilmente la versión de PHP yendo a"Seleccionar una versión de PHP" en tu interfaz de cPanel.
9. El error"Permiso denegado" significa que PHP no tiene los derechos para acceder a un archivo o carpeta definidos. Este error puede verse a menudo de la siguiente forma:
Warning file_put_contacts(/home/c123456/public_html/dossier/file.php): failed to open stream: Permission denied in /home/c123456/index.php on line 20
En este caso, tienes que comprobar los chmods de tus archivos y carpetas. En principio, los chmods son los siguientes
10. El error"No such file or directory" indica que PHP necesita incluir un archivo que no parece estar presente en su espacio FTP. El error representa lo siguiente:
Warning: require_once(/home/c123456/public_html/dossier/fichier.php): failed to open stream: No such file or directory in /home/c123456/public_html/index.php on line 20
En este caso, debe :
11. Es posible que aparezca el error"Warning:session_start(): Cannot send session cookie headers already sent" que indica que ya se ha generado un flujo y que por lo tanto ya no es posible utilizar la función"session_start". Este error puede verse de la siguiente forma:
Advertencia: session_start(): Cannot send session cookie - headers already sent by (output started at /home/c123456/public_html/dossier/session.php:2 in /home/c123456/public_html/dossier/session.php on line 20
Las 3 posibles causas de este error son las siguientes
Ahora puede averiguar el motivo de un error 500 o de página en blanco. También puede solucionar los problemas de su sitio web.
No dudes en hacer cualquier pregunta o comentario que tengas.
Valora este artículo :
2,5/5 | 2 opinión
Este artículo le ha sido útil ?
Sí
No
3mn lectura
Wordpress en cPanel: Solucionar el problema de la página blanca o error 500
1mn lectura
Cómo ver los archivos de registro de Apache y PHP en cPanel
0mn lectura
¿Cómo corrijo un error 403 Forbidden en cPanel?
0mn lectura
¿Cómo corregir un error 404 en cPanel?