El Internal Server Error HTTP 500 ocurre típicamente cuando el servidor encuentra una condición inesperada que le impide cumplir la solicitud. Este post te ayudará a entender las causas del error y a encontrar soluciones apropiadas.
Tabla de contenidos
- ¿Qué Es El HTTP 500 Internal Server Error?
- La White Screen Of Death Del Error 500
- Causas Del 500 Internal Server Error
- Cómo Solucionar El Internal Error 500
- Todos los Códigos de Estado HTTP
¿Qué Es El HTTP 500 Internal Server Error?
Se considera un error general en el lado del servidor debido a un problema no especificado. De los Estándares RFC, tenemos esta definición:
El código de estado 500 (Internal Server Error) indica que el servidor encontró una condición inesperada que le impidió cumplir la solicitud.
RFC 7231: Protocolo de transferencia de hipertexto (HTTP/1.1): Semántica y contenido (rfc-editor.org)
No es un error en tu conexión o navegador. En su lugar, significa que algo ha salido mal con el sitio web.
La White Screen Of Death Del Error 500
La «White Screen Of Death» (WSOD) es un término utilizado para describir el error 500 HTTP, y otros códigos de error HTTP 5XX cuando el servidor no puede servir ningún contenido al usuario. Algunos navegadores como Safari o Firefox presentan esta pantalla en blanco:
Alternativamente, existen navegadores que traducen el error interno 500, mostrando diferentes mensajes informativos.
Diferentes Mensajes De Error 500
Aunque este error puede aparecer de muchas maneras, todos significan lo mismo. A continuación, se muestran algunos ejemplos de cómo podrías ver un error 500 HTTP
.
- «500 – Internal Server Error»
- «Error 500»
- «Error interno del servidor 500. Lo sentimos, algo ha salido mal.»
- «500 Internal Server Error»
- «500. Esto es un error. Hubo un error. Por favor, inténtalo de nuevo más tarde. Eso es todo lo que sabemos.»
- «HTTP 500 – Internal Server Error»
- «HTTP 500»
- «Error HTTP 500»
- «Internal Server Error»
- «Esta página no está funcionando en este momento. HTTP ERROR 500.»
- «Esta página no está funcionando. – localhost no puede manejar esta solicitud en este momento. – HTTP ERROR 500″
Cuando se habilita la opción de mostrar errores al usuario y la ejecución no se interrumpe, el servidor puede proporcionar información más detallada sobre los errores que cuando el usuario se encuentra con una WSOD (White Screen Of Death).
En tales casos, el servidor puede mostrar detalles cruciales relacionados con el error, como el archivo y el número de línea donde ocurrió el error, una descripción del error y, a veces, una traza de pila.
La siguiente captura de pantalla muestra un ejemplo de esto, detallando un error interno del servidor 500 en una página de WordPress:
En la siguiente sección, encontrarás varios escenarios que pueden provocar la aparición del error 500.
Causas Del 500 Internal Server Error
- Error de base de datos al intentar recuperar datos. Por ejemplo, una base de datos corrupta o una sintaxis SQL incorrecta.
- La aplicación lanza un error, como un error de tiempo de ejecución, por ejemplo, una memoria PHP insuficiente o un tiempo de ejecución PHP agotado.
- Hay un error en el código de la aplicación. Por ejemplo, PHP intenta incluir un archivo que no existe, o una división por cero interrumpe la ejecución.
- Tu hardware del servidor podría tener un problema. Por ejemplo, tienes archivos corruptos debido a una falla en el disco.
- Hay un problema con el software del servidor. Por ejemplo,
php-fpm
está mal configurado o la versión actual tiene un error.
Cómo Solucionar El Internal Error 500
Como se mencionó en la sección anterior, las causas del error 500 pueden ser diversas y no siempre son aparentes en el navegador.
Para solucionarlo, comprueba los registros de errores o imprímelos en el navegador para un diagnóstico más detallado.
En lo que respecta a los
Errores internos del servidor 500
,
no hay una solución única para todos.Comprobar los registros de errores puede ayudar a identificar la causa raíz.
Cómo Obtener Más Detalles Sobre Los Errores En PHP
La respuesta es simple: mostrar los errores o inspeccionar los registros. La última opción es preferible, ya que un Internal Server Error 500 a veces puede provocar que la ejecución se interrumpa, lo que resulta en nada más que una WSOD (White Screen Of Death).
¡Oye, sólo una cosa!
Si tienes un sitio web de WordPress alojado en un servidor Wetopi,
puedes acceder fácilmente a tus registros con
solo un clic de tu ratón.
Para habilitar los registros, aquí tienes dos opciones: la primera para aplicaciones PHP genéricas y la segunda para sitios que ejecutan WordPress.
Cómo mostrar y registrar errores en aplicaciones PHP simples
- Habilitar la notificación de errores: agregar la siguiente línea al inicio de tu script PHP:
error_reporting(E_ALL);
- Mostrar errores agregando esto:
ini_set('display_errors', 1);
- Y registrar errores estableciendo estas dos opciones:
ini_set('log_errors', 'On');
ini_set('error_log', '/ruta/a/php_errors.log');
Además, también puedes establecer estas directivas en el archivo de configuración PHP php.ini
.
error_reporting = E_ALL
display_errors = On
log_errors = On
error_log = /ruta/a/php_errors.log
Cómo mostrar errores de PHP en WordPress
Puedes utilizar la constante WP_DEBUG en el archivo wp-config.php para mostrar errores de PHP con WordPress. Esto activará el modo de depuración en WordPress y mostrará todos los errores, advertencias y avisos de PHP en la pantalla.
- Localiza el archivo
wp-config.php
: Este archivo se encuentra en el directorio raíz de la instalación de WordPress. - Abre el archivo
wp-config.php
: Puedes abrir este archivo utilizando un editor de texto como Notepad, TextEdit o Sublime Text. - Agrega la constante WP_DEBUG para mostrar los errores:
define('WP_DEBUG', true);
- O bien, habilita el registro de depuración en /wp-content/debug.log con esta siguiente constante:
define( 'WP_DEBUG_LOG', true );
- Guarda el archivo wp-config.php.
Puedes obtener una explicación más detallada y configuraciones refinadas en la documentación de depuración de WordPress de wordpress.org.
Microsoft Internet Information Services (IIS) muestra detalles del error 500
Si tu servidor web es Microsoft IIS, las versiones 7.0 y posteriores tienen un subconjunto de códigos de error HTTP 500.XX que indican una causa más específica del error 500. Esta subcategoría de códigos de error 500 te ayudará a identificar la causa del error.
Un último consejo:
Cuando Inspecciones Registros, Mira En El Lugar Correcto
Cuando ocurra un error interno del servidor 500 en PHP, se considera un mensaje de nivel de Error en lugar de una Advertencia o Aviso. Por lo tanto, al examinar registros o pantallas de depuración para fines de solución de problemas, concéntrate exclusivamente en los Errores y omite los mensajes de Advertencia y Aviso.
Todos los Códigos de Estado HTTP
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
207 Multi-Status
208 Already Reported
226 IM Used
300 Multiple Choices
301 Moved Permanently
302 Found
303 See Other
304 Not Modified
305 Use Proxy
307 Temporary Redirect
308 Permanent Redirect
402 Payment Required
404 Not Found
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
411 Length Required
412 Precondition Failed
413 Payload Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Requested Range Not Satisfiable
417 Expectation Failed
418 I’m A Teapot
421 Misdirected Request
422 Unprocessable Entity
423 Locked
424 Failed Dependency
426 Upgrade Required
428 Precondition Required
429 Too Many Requests
431 Request Header Fields Too Large
444 Connection Closed Without Response
451 Unavailable For Legal Reasons
501 Not Implemented
505 HTTP Version Not Supported
506 Variant Also Negotiates
507 Insufficient Storage
508 Loop Detected
510 Not Extended
511 Network Authentication Required
599 Network Connect Timeout Error
¿No tienes una cuenta en wetopi?
Incluye servidores desarrollo Gratis.
Sin tarjeta de crédito.