HTTP 500 Internal Server Error: Causas Y Soluciones

Error 500 Internal Server Error

Última actualización:

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?

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.

Pantalla de error genérica 500 en el navegador Chrome
Pantalla de error genérica 500 en el navegador Chrome

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:

White Screen Of Death en Firefox
Firefox no muestra mensajes de error 500

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″
Error 500 genérico mostrado en el navegador Edge
Error 500 genérico mostrado en el navegador Edge

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:

Detalles de 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.

show logs

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

  1. Habilitar la notificación de errores: agregar la siguiente línea al inicio de tu script PHP:

    error_reporting(E_ALL);
  2. Mostrar errores agregando esto:

    ini_set('display_errors', 1);
  3. 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.

  1. Localiza el archivo wp-config.php: Este archivo se encuentra en el directorio raíz de la instalación de WordPress.
  2. Abre el archivo wp-config.php: Puedes abrir este archivo utilizando un editor de texto como Notepad, TextEdit o Sublime Text.
  3. Agrega la constante WP_DEBUG para mostrar los errores:
    define('WP_DEBUG', true);
  4. O bien, habilita el registro de depuración en /wp-content/debug.log con esta siguiente constante:
    define( 'WP_DEBUG_LOG', true );
  5. 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

400 Bad Request

401 Unauthorized

402 Payment Required

403 Forbidden

404 Not Found

405 Method Not Allowed

406 Not Acceptable

407 Proxy Authentication Required

408 Request Timeout

409 Conflict

410 Gone

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

499 Client Closed Request

500 Internal Server Error

501 Not Implemented

502 Bad Gateway

503 Service Unavailable

504 Gateway Timeout

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.

Compara wetopi con tu hosting actual

Date de alta, pide una migración y compara.

Hacemos una copia de tu web gratis y sin esfuerzo por tu parte.

Sin letra pequeña.
Sin compromisos.
Sin tarjeta de crédito.