Cómo arreglar el error Internal Server Error 500
El HTTP 500 — Internal Server Error es un error genérico del servidor: el navegador no recibe respuesta válida porque algo falló del lado del hosting. Casi siempre la causa real está en el log de errores; este artículo te guía a encontrarla y corregirla.
Antes de empezar
- Acceso a cPanel del dominio afectado.
- Saber qué cambio se hizo justo antes del error (instalación, edición de
.htaccess, actualización de plugin, cambio de PHP). - Tener un respaldo reciente o estar dispuesto a hacerlo desde Asistente de respaldo antes de tocar archivos.
Paso 0 — Lee el log de errores
Antes de adivinar, abre el log:
- En cPanel busca Errores (o Registro de errores).
- Mira las últimas líneas del dominio: ahí aparece la ruta del archivo y la línea exacta que rompió.
- Copia el mensaje completo — te dirá si es PHP,
.htaccess, base de datos o mod_security.
Si el log apunta a un archivo PHP, salta al paso de PHP. Si menciona Invalid command o Opciones not allowed, salta a .htaccess.
Causas comunes y solución
1. Permisos de archivos o directorios incorrectos
Permisos demasiado abiertos (777) o demasiado cerrados disparan 500.
Restaura los valores predeterminados desde Administrador de archivos (selecciona → Permisos):
| Tipo | Permiso |
|---|---|
| Archivos PHP, HTML, imágenes | 644 |
| Directorios | 755 |
wp-config.php, configuration.php | 600 o 640 |
Nunca uses 777 en public_html: el servidor lo rechaza por seguridad.
2. .htaccess mal configurado
Una directiva no soportada o un módulo deshabilitado bloquea todas las peticiones.
Aísla el archivo:
- En Administrador de archivos ve a
public_html/. - Renombra
.htaccessa.htaccess.bak. - Recarga el sitio en modo incógnito.
Si el sitio carga, el problema vive en el .htaccess. Restaura las reglas en bloques pequeños hasta encontrar la línea que rompe.
3. Versión de PHP incompatible
Un plugin o tema requiere PHP 8.x y la cuenta está en 7.4 (o viceversa).
- En cPanel abre Seleccionar versión PHP (o Administrador MultiPHP).
- Cambia a una versión compatible (recomendado PHP 8.2 o 8.3).
- Recarga el sitio.
Si tu app necesita módulos específicos (imagick, mysqli, intl), actívalos en la misma pantalla.
4. Memoria PHP agotada
El log muestra Allowed memory size of … bytes exhausted.
- En Seleccionar versión PHP → Opciones, sube
memory_limita256M. - Si el script sigue agotándola, optimiza el código o el plugin culpable; subir memoria sin límite solo aplaza el problema.
5. mod_security bloqueando la petición
El log muestra ModSecurity: Access denied o un ID de regla.
Soporte puede crear una excepción para esa regla. Manda el ID exacto al ticket; sin él, no se puede afinar.
6. Base de datos caída o credenciales incorrectas
El sitio puede mostrar 500 cuando la conexión a MySQL falla.
- Revisa
wp-config.phpoconfiguration.phpy confirma usuario, contraseña y nombre de base. - En cPanel abre Bases de datos MySQL® y verifica que el usuario tenga TODOS LOS PRIVILEGIOS sobre la base.
- Si la base está caída, el log de errores lo dirá explícitamente.
7. Archivo PHP corrupto o subido en binario
Subir PHP por FTP en modo binario corrompe los saltos de línea.
Re-súbelos en modo ASCII o usa Administrador de archivos del cPanel, que sube limpio.
Diagnóstico rápido (orden recomendado)
- Lee el log de errores.
- Renombra
.htaccessy recarga. - Si usas WordPress/Joomla/PrestaShop, desactiva plugins/extensiones por FTP.
- Cambia versión de PHP a la recomendada.
- Sube
memory_limittemporalmente. - Si nada cambia, abre ticket con el log exacto.
Verificación final
- El sitio responde 200 desde una ventana incógnita.
- El log de errores no genera nuevas entradas al recargar.
- La causa quedó documentada (qué archivo, qué cambio).
- Hay respaldo del estado actual ya funcional.
Errores comunes al diagnosticar
- Cambias
.htaccesssin respaldo: siempre renombra a.bakantes de borrar. - Subes
memory_limity olvidas el plugin que lo agota: revisa siempre el log después. - Ignoras la cache del navegador: prueba en incógnito o limpia caché.
- Ignoras la cache de LiteSpeed/Cloudflare: purga después de cada cambio.
¿Aún necesitas ayuda?
Si esta guía no resolvió tu problema, nuestro equipo te ayudará por ticket.