🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Solucionar error 500 en PrestaShop (hosting DirectAdmin)

Actualizado el 24 de febrero de 2026

Imagina que estás a punto de abrir tu tienda online, todo listo para vender, y de repente te encuentras con una pantalla en blanco que solo dice "500 Internal Server Error". Es frustrante, lo sabemos. Este es uno de los problemas más comunes en PrestaShop, especialmente cuando el sitio está alojado en un servidor con panel DirectAdmin. Pero no te preocupes, aquí te explicamos paso a paso cómo solucionar error 500 en PrestaShop en un entorno DirectAdmin, incluso si no eres un experto técnico.

¿Por qué aparece el error 500 en PrestaShop?

El error 500 es un código genérico que indica que algo salió mal en el servidor, pero no especifica qué. En PrestaShop, las causas más frecuentes son:

  • Archivos .htaccess corruptos o mal configurados (muy común al activar la URL amigable).
  • Problemas de permisos de archivos o carpetas (por ejemplo, después de una migración).
  • Módulos incompatibles o con errores de código.
  • Límites de memoria PHP excedidos (especialmente en tiendas con muchos productos).
  • Actualizaciones fallidas de PrestaShop o de algún módulo.
  • Errores en el archivo de configuración config/settings.inc.php (en versiones antiguas) o app/config/parameters.php.

[INFO] Si ves el error 500 solo en algunas páginas (como el panel de administración o el carrito), el problema suele estar relacionado con un módulo o un archivo específico. Si es en todo el sitio, revisa primero el .htaccess y los permisos.

Primeros pasos en DirectAdmin

Antes de meternos en código, necesitas acceder a tu panel de control. DirectAdmin es el panel que usa tu hosting. Si tu proveedor usa Syspanel (HestiaCP), el acceso es por el puerto 2106 (ejemplo: https://tudominio.com:2106). Una vez dentro, busca el Administrador de Archivos (File Manager) para navegar por los archivos de tu tienda.

[WARNING] Siempre haz una copia de seguridad completa de tu PrestaShop antes de modificar cualquier archivo. Puedes usar la opción de Backup en DirectAdmin o descargar los archivos por FTP.

1. Activar el modo debug de PrestaShop

El error 500 es mudo, pero PrestaShop puede darte más pistas si activas su modo de depuración. Para hacerlo:

  1. Desde el Administrador de Archivos de DirectAdmin, ve a la carpeta raíz de tu PrestaShop (donde están las carpetas admin, config, modules, etc.).
  2. Busca el archivo defines.inc.php dentro de la carpeta config.
  3. Ábrelo con el editor de texto (clic derecho → Edit).
  4. Localiza la línea:
    define('_PS_MODE_DEV_', false);
  5. Cámbiala a:
    define('_PS_MODE_DEV_', true);
  6. Guarda los cambios.

Ahora, al recargar tu tienda, en lugar del error 500 verás un mensaje más descriptivo, como "Fatal error: Allowed memory size exhausted" o "Class not found". Ese mensaje te indicará exactamente qué está fallando.

[TIP] Si no ves el archivo defines.inc.php, puede que tu PrestaShop sea muy reciente (versión 1.7+). Busca en config/defines.inc.php o crea un archivo nuevo con ese contenido.

2. Solucionar el error 500 por .htaccess corrupto

El archivo .htaccess es el culpable en el 70% de los casos. Si activaste la URL amigable o cambiaste la estructura de enlaces, este archivo puede generar un error 500.

Cómo regenerar el .htaccess desde DirectAdmin

  1. En el Administrador de Archivos, asegúrate de ver los archivos ocultos (hay un checkbox "Show Hidden Files" en la parte superior).
  2. Busca el archivo .htaccess en la raíz de tu PrestaShop.
  3. Renómbralo a .htaccess_old (por si acaso).
  4. Ve al panel de administración de PrestaShop (si puedes acceder).
    Si no puedes acceder al admin, salta al siguiente método.
  5. En el menú izquierdo, ve a Configuración de la tienda → Tráfico y SEO → URL amigable.
  6. Desmarca y vuelve a marcar la opción "URL amigable" y guarda. Esto regenera el .htaccess automáticamente.

Si no puedes entrar al admin, crea un archivo .htaccess nuevo desde DirectAdmin:

  1. Crea un nuevo archivo de texto llamado .htaccess en la raíz.
  2. Pega este contenido básico (para PrestaShop 1.6 y 1.7):
    # ~~start~~ No modificar
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php [L]
    </IfModule>
    # ~~end~~
    
  3. Guarda y prueba la tienda.

[WARNING] Si tu hosting usa Nginx en lugar de Apache, el .htaccess no sirve. En ese caso, contacta a tu proveedor para que revise la configuración del servidor.

3. Revisar permisos de archivos y carpetas

Los permisos incorrectos suelen ocurrir después de subir archivos por FTP o hacer una migración. Los valores correctos para PrestaShop son:

  • Carpetas: 755 (rwxr-xr-x)
  • Archivos: 644 (rw-r--r--)

Cómo corregir permisos en DirectAdmin

  1. Desde el Administrador de Archivos, selecciona todas las carpetas de tu PrestaShop (Ctrl+A o Cmd+A).
  2. Haz clic en Change Permissions (Cambiar permisos).
  3. Marca:
    • Propietario: Read, Write, Execute
    • Grupo: Read, Execute
    • Otros: Read, Execute
      Esto da 755.
  4. Aplica los cambios.
  5. Luego, selecciona solo los archivos (puedes usar el filtro por tipo) y repite, pero sin marcar Execute (solo Read y Write para propietario, Read para grupo y otros).

[INFO] No olvides la carpeta cache, log y upload. A veces necesitan permisos 777 temporalmente para que PrestaShop pueda escribir en ellas. Después de solucionar el error, vuelve a 755 por seguridad.

4. Aumentar la memoria PHP (límite memory_limit)

Un error 500 puede aparecer si tu tienda tiene muchas imágenes, módulos pesados o un catálogo grande. El límite de memoria PHP por defecto (128MB) a veces no basta.

Cómo aumentarlo desde DirectAdmin

  1. Ve a DirectAdmin → Account Manager → PHP Settings (o busca "PHP Selector").
  2. Busca la opción memory_limit.
  3. Cámbiala a 256M o 512M.
  4. Guarda y reinicia el servicio PHP (suele haber un botón "Restart" o "Apply").

Si no tienes acceso a PHP Selector, puedes crear un archivo php.ini en la raíz de tu PrestaShop:

  1. Crea un archivo llamado php.ini.
  2. Pega:
    memory_limit = 256M
    max_execution_time = 120
  3. Guarda y sube a la raíz.

[TIP] También puedes editar el archivo .htaccess (si existe) y añadir:
php_value memory_limit 256M

5. Deshabilitar módulos problemáticos

Si el error 500 aparece después de instalar o actualizar un módulo, ese módulo es el sospechoso. Pero si no puedes entrar al admin, hay que deshabilitarlo manualmente.

Cómo deshabilitar módulos desde DirectAdmin

  1. Ve a la carpeta modules de tu PrestaShop.
  2. Localiza la carpeta del módulo problemático (por ejemplo, ps_banner).
  3. Renombra la carpeta añadiendo un guion bajo al inicio (ej: _ps_banner). Esto desactiva el módulo.
  4. Prueba la tienda. Si funciona, ya sabes cuál es el culpable.

Si no sabes qué módulo está fallando, puedes deshabilitar todos temporalmente:

  • Ve a la base de datos desde DirectAdmin → phpMyAdmin.
  • Selecciona la base de datos de tu PrestaShop.
  • Busca la tabla ps_module (o {prefijo}_module).
  • Haz clic en SQL y ejecuta:
    UPDATE ps_module SET active = 0 WHERE 1;
  • Esto desactiva todos los módulos. Luego ve activándolos uno por uno desde el admin.

[WARNING] Si usas Syspanel (HestiaCP), el acceso a phpMyAdmin puede ser desde https://tudominio.com:2106/phpmyadmin. No olvides las credenciales de la base de datos.

6. Verificar el archivo de configuración

En PrestaShop 1.7+, el archivo app/config/parameters.php contiene la configuración de la base de datos. Si está dañado, da error 500.

  1. Abre ese archivo desde el Administrador de Archivos.
  2. Verifica que los datos de la base de datos (host, nombre, usuario, contraseña) sean correctos.
  3. Busca errores de sintaxis (como comillas faltantes o comas extra). Si no estás seguro, descarga una copia de seguridad y reemplázalo.

7. Preguntas frecuentes (FAQ)

¿El error 500 puede deberse a un problema del servidor?

Sí, especialmente si el hosting tiene sobrecarga o configuraciones de seguridad muy restrictivas. Contacta a tu proveedor de PrestaShop hosting y pregúntales si hay algún bloqueo en el firewall o en el módulo mod_security.

¿Cómo sé si es un error de PHP o de base de datos?

Activa el modo debug (paso 1). Si ves mensajes como "Fatal error: Uncaught Error: Class 'DB' not found", es problema de conexión a la base de datos. Si ves "Allowed memory size", es límite de PHP.

¿Puedo evitar el error 500 en el futuro?

Sí, siguiendo buenas prácticas:

  • Mantén PrestaShop y los módulos actualizados.
  • Haz copias de seguridad periódicas.
  • No instales módulos de fuentes no confiables.
  • Aumenta el límite de memoria PHP antes de que sea necesario.

¿Y si nada funciona?

Si después de todos estos pasos el error persiste, puede ser un problema más complejo como un conflicto con el tema o un error en la base de datos. En ese caso, restaura una copia de seguridad anterior o contacta al soporte técnico de tu PrestaShop hosting.

Conclusión

Solucionar error 500 en PrestaShop no es tan complicado como parece. Con las herramientas de DirectAdmin (o Syspanel), puedes diagnosticar y reparar la mayoría de los casos siguiendo estos pasos: activar el modo debug, regenerar el .htaccess, corregir permisos, aumentar la memoria PHP y deshabilitar módulos conflictivos. Recuerda siempre trabajar con copias de seguridad y, si te sientes perdido, no dudes en pedir ayuda a tu proveedor de hosting.

[INFO] Si tu hosting usa Syspanel (HestiaCP), recuerda que el puerto de acceso es el 2106 y las herramientas son similares a DirectAdmin. La lógica de solución es la misma.

Esperamos que este artículo te haya sido de gran ayuda. ¡Tu tienda online estará funcionando en poco tiempo!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel