Solucionar el error '500 Internal Server Error' en PrestaShop (DirectAdmin)
¿Qué es el error 500 en PrestaShop y por qué aparece en DirectAdmin?
El error 500 Internal Server Error es uno de los mensajes más frustrantes que puedes encontrar al administrar tu tienda PrestaShop. A diferencia de otros errores que te indican exactamente qué archivo falla, el 500 es un error genérico que significa "algo salió mal en el servidor, pero no te voy a decir exactamente qué".
Si tu hosting utiliza el panel de control DirectAdmin, este error puede deberse a múltiples causas: desde un archivo .htaccess corrupto hasta problemas de permisos, memoria PHP insuficiente o incluso un módulo incompatible. La buena noticia es que, en la mayoría de los casos, puedes solucionar el error 500 de PrestaShop siguiendo una serie de pasos lógicos y ordenados.
En esta guía completa, te explicaré paso a paso cómo diagnosticar y arreglar el error 500 en PrestaShop cuando tu sitio está alojado en un servidor con DirectAdmin. No necesitas ser un experto técnico: solo sigue las instrucciones en orden y, casi con seguridad, recuperarás tu tienda en pocos minutos.
Primeros pasos: identifica el alcance del problema
Antes de tocar nada, necesitas saber si el error 500 afecta a toda tu tienda o solo a algunas páginas. Esto te dará pistas muy valiosas sobre el origen del problema.
¿Toda la tienda está caída o solo algunas secciones?
Entra a tu tienda desde un navegador en modo incógnito. Si toda la web muestra el error 500, el problema es global. Si solo fallan algunas páginas (por ejemplo, el carrito o la ficha de producto), el problema podría estar en un módulo específico o en la caché.
Revisa el log de errores de DirectAdmin
DirectAdmin guarda un registro de errores del servidor. Para acceder a él:
- Inicia sesión en tu panel de DirectAdmin.
- Busca la sección "Logs" o "Registros".
- Haz clic en "Error Log" o "Apache Error Log".
- Busca las últimas entradas con fecha y hora cercanas al momento en que empezó el error 500 en PrestaShop.
Aquí verás líneas como [error] [client IP] PHP Fatal error: Allowed memory size exhausted. Esa información es oro: te dirá exactamente qué archivo o función está fallando. Si no entiendes algo, anota el mensaje completo y continúa con la guía.
[INFO] El log de errores es tu mejor amigo. Si ves mensajes de "memory exhausted", "permission denied" o "syntax error", ya sabes por dónde empezar.
Causa #1: Archivo .htaccess corrupto o con reglas incorrectas
La causa más común del error 500 prestashop directadmin es un archivo .htaccess dañado o con reglas incompatibles. Este archivo controla las redirecciones, la reescritura de URLs amigables y otras configuraciones críticas de Apache.
Cómo solucionarlo paso a paso
- Conecta a tu servidor mediante FTP o el Administrador de Archivos de DirectAdmin.
- Localiza la carpeta raíz de tu instalación de PrestaShop (normalmente
public_htmlo una subcarpeta). - Busca el archivo
.htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos" en tu cliente FTP. - Renombra el archivo a
.htaccess.bak(esto lo desactiva temporalmente sin borrarlo). - Vuelve a cargar tu tienda. Si el error 500 desaparece, el problema era el
.htaccess.
Ahora tienes dos opciones:
- Opción A (fácil): Ve a tu panel de administración de PrestaShop (si puedes acceder) → Parámetros avanzados → SEO y URLs → Guarda la configuración. Esto regenera automáticamente un
.htaccesslimpio. - Opción B (manual): Si no puedes acceder al panel, descarga un
.htaccessestándar de PrestaShop desde el paquete original de instalación o desde GitHub oficial, y súbelo a tu servidor.
[WARNING] No elimines el
.htaccesssin más. Si tu tienda usa URLs amigables, necesitas ese archivo para que las páginas funcionen correctamente. Siempre crea una copia de seguridad antes de modificarlo.
Causa #2: Permisos de archivos y carpetas incorrectos
DirectAdmin es estricto con los permisos. Si algún archivo de PrestaShop tiene permisos demasiado abiertos (por ejemplo, 777) o demasiado restrictivos (como 000), Apache puede lanzar un error 500.
Los permisos correctos para PrestaShop
- Carpetas (directorios): 755
- Archivos PHP: 644
- Archivos de configuración sensibles (
config/settings.inc.php): 444 o 440 (solo lectura)
Cómo corregir permisos en masa
- Entra a tu cuenta de DirectAdmin.
- Ve a "Administrador de archivos".
- Navega hasta la raíz de tu PrestaShop.
- Selecciona todos los archivos y carpetas (Ctrl+A o Cmd+A).
- Haz clic en "Cambiar permisos".
- Marca la opción de "Aplicar a todos los archivos y subcarpetas".
- Establece carpetas en 755 y archivos en 644.
Si no tienes esta opción en tu plan de DirectAdmin, puedes usar un cliente FTP como FileZilla: selecciona todo, clic derecho → "Permisos de archivos" → introduce 644 para archivos y 755 para carpetas, y activa la recursividad.
[TIP] Si el error empezó después de subir archivos con un FTP, casi seguro es un problema de permisos. Repite el proceso de permisos y el error 500 de PrestaShop suele desaparecer al instante.
Causa #3: Límite de memoria PHP insuficiente
PrestaShop es una plataforma exigente. Si tu tienda ha crecido o has instalado módulos pesados, el límite de memoria PHP puede quedarse corto y provocar un error 500.
Cómo aumentar la memoria PHP en DirectAdmin
- Accede a DirectAdmin → Configuración de PHP (o "PHP Settings").
- Busca la opción "memory_limit".
- Cámbiala a
256Mo incluso512Msi tu plan lo permite. - Guarda los cambios y reinicia PHP si es necesario.
Si no encuentras esa opción en tu panel, puedes crearla manualmente:
- Abre el archivo
php.ini(normalmente en/usr/local/lib/php.inio en la raíz de tu cuenta). - Busca la línea
memory_limit = 128My cámbiala amemory_limit = 256M. - Guarda y reinicia Apache desde DirectAdmin.
También puedes añadir esta línea al archivo .htaccess:
php_value memory_limit 256M
[INFO] Algunos planes de hosting limitan la memoria PHP por seguridad. Si no puedes superar los 128M, contacta con tu proveedor o revisa si tienes activado el modo "suPHP" o "FastCGI", que permiten valores distintos.
Causa #4: Error de sintaxis en un archivo PHP o de configuración
Un simple punto y coma mal puesto, una llave sin cerrar o un archivo modificado incorrectamente pueden tumbar toda tu tienda con un error 500 en DirectAdmin.
Cómo localizar el archivo problemático
- Revisa el log de errores de DirectAdmin como explicamos antes.
- Busca mensajes como
PHP Parse error: syntax error, unexpected...seguido de la ruta del archivo. - Si no hay log, piensa en qué archivos modificaste recientemente: ¿algún tema? ¿algún módulo? ¿algún override?
Cómo solucionarlo
- Si tienes acceso al panel de administración de PrestaShop, ve a Diseño → Tema y logo → Avanzado y desactiva el modo de compilación de plantillas.
- Si no tienes acceso, conecta por FTP y revisa los archivos recientes en
themes/,modules/yoverride/. - Compara el archivo sospechoso con una copia original de PrestaShop de la misma versión.
En casos extremos, puedes desactivar temporalmente los overrides renombrando la carpeta override/ a override_backup/. PrestaShop funcionará sin ellos y podrás ir activándolos uno a uno.
[WARNING] No edites archivos PHP con el Bloc de notas de Windows. Usa un editor con soporte UTF-8 sin BOM, como Notepad++ o Visual Studio Code. Un BOM oculto puede provocar errores de sintaxis difíciles de detectar.
Causa #5: Problemas con la caché de PrestaShop
La caché de PrestaShop es un arma de doble filo. Si se corrompe, puede provocar errores 500 intermitentes o totales. Es una de las causas más frecuentes del directadmin prestashop error 500.
Cómo limpiar la caché manualmente
- Conecta por FTP o administrador de archivos.
- Entra en la carpeta
var/cache/(en PrestaShop 1.7+) ocache/(en versiones 1.6). - Borra todo el contenido de esa carpeta (pero no la carpeta en sí).
- También borra el contenido de
var/cache/prod/yvar/cache/dev/si existen. - Vuelve a cargar tu tienda.
En PrestaShop 1.6, además puedes borrar los archivos de cache/class_index.php y cache/theme-*.php.
[TIP] Si no puedes borrar los archivos de caché por permisos, cámbialos temporalmente a 755, borra y vuelve a dejarlos en 644.
Causa #6: Módulos o temas incompatibles
A veces, un módulo recién instalado o actualizado es el culpable del error 500 PrestaShop en DirectAdmin. Esto es especialmente común si el módulo usa funciones obsoletas o requiere versiones más recientes de PHP.
Cómo aislar el problema
- Entra por FTP a la carpeta
modules/. - Renombra la carpeta del módulo sospechoso añadiendo un guion bajo al principio (ej:
_modulo_afectado). - Prueba tu tienda. Si el error desaparece, ya sabes quién es el culpable.
- Si no sabes qué módulo es, renombra todos los módulos de uno en uno (o en grupos) hasta encontrar el problema.
Desactivar todos los módulos a la vez
En PrestaShop 1.7, puedes renombrar la carpeta modules/ a modules_backup/ y crear una carpeta modules/ vacía. La tienda cargará sin módulos (fea pero funcional). Luego ve restaurando módulos de uno en uno.
[INFO] Si el error 500 solo aparece en el front-office (tienda) pero el back-office (panel de administración) funciona, el problema casi siempre es un módulo o tema del front.
Causa #7: PHP versiones incompatibles
DirectAdmin te permite cambiar la versión de PHP fácilmente. PrestaShop 1.6 y versiones antiguas de 1.7 no son compatibles con PHP 8.0 o superior. Si tu proveedor actualizó PHP automáticamente, tu tienda puede haber caído con un error 500.
Cómo verificar y cambiar la versión de PHP
- Entra a DirectAdmin → "Select PHP Version" o "PHP Settings".
- Comprueba la versión actual.
- Si tienes PHP 8.x y tu PrestaShop es antiguo, cambia a PHP 7.4.
- Guarda y reinicia el servicio.
Si no tienes opción de cambiar la versión, puedes forzar la compatibilidad temporalmente añadiendo en .htaccess:
SetEnv PHP_VERSION 7.4
Pero esto solo funciona si el servidor tiene disponible esa versión.
[WARNING] No mezcles versiones de PHP a la ligera. Verifica primero qué versión requiere tu versión de PrestaShop en la documentación oficial.
Causa #8: Problemas con la base de datos
Aunque menos común, una tabla corrupta o un error en la conexión a la base de datos también puede generar un error 500. PrestaShop no muestra el mensaje clásico de "error de conexión" en estos casos, sino que lanza el 500.
Cómo verificar la base de datos
- Accede a DirectAdmin → "MySQL Management".
- Haz clic en "phpMyAdmin".
- Selecciona tu base de datos de PrestaShop.
- En la pestaña "Operaciones", busca la opción "Reparar tabla" o ejecuta la consulta
REPAIR TABLEen todas las tablas.
También revisa que el archivo config/settings.inc.php (PrestaShop 1.6) o app/config/parameters.php (PrestaShop 1.7) tenga las credenciales correctas de la base de datos.
[TIP] Si el error 500 apareció tras un cambio de contraseña de MySQL, verifica que hayas actualizado también los datos en el archivo de configuración de PrestaShop.
Solución avanzada: activar el modo debug de PrestaShop
Si has probado todo lo anterior y el error persiste, activa el modo de depuración de PrestaShop para ver el error real en pantalla. Esto es especialmente útil cuando los logs no muestran nada concluyente.
Cómo activar el modo debug
- Conecta por FTP.
- Abre el archivo
config/defines.inc.php. - Busca la línea
define('_PS_MODE_DEV_', false);. - Cámbiala a
define('_PS_MODE_DEV_', true);. - Guarda y recarga tu tienda.
Ahora verás el error completo: archivo, línea y mensaje. Eso te dará la pista definitiva para arreglar el 500 de PrestaShop. Cuando termines, vuelve a poner el valor en false por seguridad.
[WARNING] No dejes el modo debug activado en producción. Muestra información sensible de tu servidor y base de datos a cualquier visitante.
Preguntas frecuentes (FAQ)
¿Puedo solucionar el error 500 PrestaShop DirectAdmin sin acceso al panel de administración?
Sí, casi todas las soluciones de esta guía se pueden hacer por FTP o desde el propio DirectAdmin. Solo necesitas acceso al administrador de archivos o a un cliente FTP.
¿Cuánto tiempo tarda en solucionarse un error 500?
Depende de la causa. Si es el .htaccess, son 5 minutos. Si es un módulo conflictivo, puede llevar media hora. Lo más importante es ser metódico y no probar varias cosas a la vez, porque así no sabrás qué lo arregló.
¿El error 500 puede aparecer solo en el back-office?
Sí, puede pasar. En ese caso, el problema suele estar en la carpeta override/ o en la caché de Smarty. Sigue los pasos de la causa #4 y #5.
¿Debo contactar con mi proveedor de hosting?
Si tras seguir todos estos pasos el error persiste, sí. A veces el problema está en el servidor (por ejemplo, un módulo de Apache mal configurado) y no en tu tienda. Explica qué has probado y muestra los logs de error.
¿Puedo prevenir futuros errores 500?
Sí, mantén siempre una copia de seguridad reciente, no instales módulos de fuentes no fiables, y haz cambios de uno en uno. También es recomendable activar la opción de "mantenimiento" en PrestaShop mientras trabajas en tu tienda.
Resumen final: checklist rápido para solucionar el error 500
Aquí tienes un resumen de los pasos a seguir en orden:
- Revisa el log de errores en DirectAdmin.
- Renombra el
.htaccessy prueba. - Corrige los permisos a 755/644.
- Aumenta la memoria PHP a 256M o más.
- Limpia la caché de PrestaShop.
- Desactiva módulos renombrando sus carpetas.
- **Cambia la
