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

Solución a error 500 en PrestaShop con DirectAdmin

Actualizado el 11 de octubre de 2025

¡Hola! Soy tu técnico de soporte amigable. 😊
Hoy vamos a resolver uno de los dolores de cabeza más comunes cuando tienes una tienda online con PrestaShop: el temido error 500. No te preocupes, es más sencillo de lo que parece y voy a guiarte paso a paso para solucionarlo, especialmente si tu hosting usa DirectAdmin. Vamos allá.


¿Qué es el error 500 en PrestaShop y por qué aparece?

El error 500 es un error interno del servidor. Básicamente, significa que algo falló en el servidor web o en la configuración de tu sitio, pero no te da más detalles. Es como si tu tienda dijera: "Algo salió mal, pero no sé decirte qué".

En PrestaShop, las causas más frecuentes son:

  • Problemas de memoria PHP (límite de memoria agotado).
  • Errores en el archivo .htaccess (reglas incorrectas).
  • Módulos incompatibles o mal configurados.
  • Permisos de archivos incorrectos.
  • Versión de PHP desactualizada o incompatible.
  • Errores en el archivo de configuración (settings.inc.php).

Como estamos en un entorno DirectAdmin, el método para diagnosticar y solucionar el error 500 es muy similar al de otros paneles, pero con algunos pasos específicos. ¡Vamos a ello!


Paso 1: Activar el modo debug de PrestaShop (la clave)

Antes de nada, necesitamos que PrestaShop nos muestre el error real. Por defecto, el error 500 oculta el mensaje, pero podemos cambiarlo.

¿Cómo activar el modo debug?

  1. Accede a tu hosting por FTP o al administrador de archivos de DirectAdmin.

  2. Busca el archivo config/defines.inc.php en la raíz de tu PrestaShop.

  3. Ábrelo con un editor de texto (bloc de notas, Sublime Text, etc.).

  4. Busca esta línea:

    define('_PS_MODE_DEV_', false);
    
  5. Cámbiala por:

    define('_PS_MODE_DEV_', true);
    
  6. Guarda el archivo y vuelve a cargar tu tienda.

[TIP] Si no ves el error, también puedes añadir temporalmente estas líneas justo debajo:

define('_PS_DISPLAY_COMPRESSION_', false);
ini_set('display_errors', 'on');

Ahora, en lugar del error 500, verás un mensaje como:

  • "Fatal error: Allowed memory size of X bytes exhausted" (problema de memoria).
  • "Parse error: syntax error, unexpected..." (error en un archivo PHP).
  • "Class 'X' not found" (módulo o clase faltante).

Anota ese mensaje. Es la pista que necesitas.

[WARNING] No olvides desactivar el modo debug cuando termines, volviendo a poner false. Si lo dejas activo, tu tienda mostrará errores a los visitantes.


Paso 2: Soluciones según el error que veas

Si el error es de memoria PHP

El mensaje típico es: "Allowed memory size of 134217728 bytes exhausted".

Solución:

  1. Desde DirectAdmin:

    • Ve a "PHP Settings" o "Custom PHP Configuration".
    • Busca la opción memory_limit y cámbiala a un valor más alto, por ejemplo 256M o 512M.
    • Guarda los cambios.
  2. Si no tienes acceso a esa opción, puedes crearte un archivo .user.ini en la raíz de tu tienda con este contenido:

    memory_limit = 512M
    
  3. También puedes editar el archivo config/defines.inc.php y añadir al principio:

    ini_set('memory_limit', '512M');
    

[INFO] El límite recomendado para PrestaShop es al menos 256 MB. Si tu tienda tiene muchos módulos o catálogo grande, sube a 512 MB.

Si el error es del archivo .htaccess

El error 500 puede deberse a reglas incorrectas en el .htaccess. A veces, al instalar un módulo o modificar URLs, se genera mal.

Solución:

  1. Desde DirectAdmin, ve al administrador de archivos.
  2. Ubica el archivo .htaccess en la raíz de tu PrestaShop.
  3. Renómbralo a .htaccess.bak (así lo respaldas).
  4. Ve al panel de administración de PrestaShop (si aún puedes acceder).
  5. Ve a Configuración → Parámetros de la tienda → Tráfico y SEO → URL.
  6. Haz clic en "Guardar" sin cambiar nada. Esto regenerará el .htaccess automáticamente.

Si no puedes acceder al panel, puedes crear un .htaccess mínimo con:

<IfModule mod_rewrite.c>
RewriteEngine On
</IfModule>

[WARNING] Si tu tienda usa HTTPS, asegúrate de que el .htaccess generado incluya las reglas de redirección a HTTPS. Si no, puedes tener problemas de seguridad.

Si el error es de un módulo

A veces un módulo recién instalado o actualizado causa el error 500.

Solución:

  1. Desactiva el módulo desde el panel de administración (si puedes acceder).
  2. Si no puedes, renombra la carpeta del módulo en /modules/ desde FTP o DirectAdmin. Por ejemplo, si el módulo se llama mimodulo, cambia el nombre a mimodulo_off. Esto lo desactivará.
  3. Vuelve a cargar la tienda. Si funciona, ya sabes quién es el culpable.

[TIP] Los módulos más conflictivos suelen ser los de caché, SEO o los que modifican el front office. Desactívalos uno por uno para identificar.

Si el error es de permisos de archivos

Los permisos incorrectos también pueden dar error 500.

Solución correcta para PrestaShop:

  • Carpetas: 755
  • Archivos: 644
  • Archivos de configuración (config/settings.inc.php): 644 o 640

Desde DirectAdmin, selecciona todos los archivos y cambia permisos en lote. O usa FTP con FileZilla: selecciona todo, clic derecho → "Permisos de archivo" y asigna.

[WARNING] No pongas permisos 777 a ningún archivo. Es un riesgo de seguridad enorme.


Paso 3: Solución general para error 500 en PrestaShop con DirectAdmin

Si no sabes qué error es o no ves mensaje claro, haz esto en orden:

1. Revisa el archivo de configuración

El archivo config/settings.inc.php contiene las credenciales de la base de datos. Si está dañado, todo falla.

  • Ábrelo con editor.
  • Verifica que los datos de conexión sean correctos (DB_NAME, DB_USER, DB_PASSWD, DB_SERVER).
  • Si tienes copia de seguridad, restáuralo.

2. Aumenta la memoria PHP (como vimos antes)

3. Regenera el .htaccess

4. Desactiva todos los módulos no esenciales

Si no puedes acceder al panel, renombra la carpeta /modules a /modules_off y crea una nueva carpeta vacía /modules. Luego, ve activando módulos de a uno.

5. Cambia la versión de PHP

Desde DirectAdmin, en "PHP Selector" o "PHP Settings", prueba con una versión diferente. PrestaShop 1.7 funciona bien con PHP 7.4 o 8.0. PrestaShop 1.6 necesita PHP 5.6 o 7.0.

[INFO] Si tu hosting usa Syspanel (HestiaCP), el puerto de acceso es el 2106. Allí también puedes cambiar la versión de PHP desde la sección "Web" → "PHP Version".

6. Revisa los logs del servidor

DirectAdmin guarda logs en:

  • /var/log/httpd/error_log (o similar)
  • /home/usuario/domains/tudominio.com/logs/error.log

Pide a tu proveedor de hosting que te dé acceso o revisa desde el panel.


FAQ: Preguntas frecuentes sobre error 500 PrestaShop DirectAdmin

❓ ¿Por qué veo pantalla en blanco en lugar de error 500?

Es probable que el error de memoria sea tan grave que PHP no pueda mostrar nada. Activa el modo debug como explicamos en el Paso 1.

❓ ¿Puedo solucionar el error 500 sin acceso al panel de administración?

Sí, todo se puede hacer por FTP o el administrador de archivos de DirectAdmin. Solo necesitas acceso a los archivos.

❓ ¿El error 500 puede ser por la base de datos?

Sí, si la base de datos está corrupta o la conexión falla. Revisa el archivo settings.inc.php y, si es necesario, repara la base de datos desde phpMyAdmin.

❓ ¿Qué hago si nada de esto funciona?

Ponte en contacto con tu proveedor de hosting. Puede ser un problema de configuración del servidor (como límites de ejecución, módulos de Apache desactivados, etc.). Diles que tienes un error 500 PrestaShop DirectAdmin y que necesitas revisar los logs del servidor.

❓ ¿Cómo evito que vuelva a pasar?

  • Mantén PrestaShop y los módulos actualizados.
  • No instales módulos de fuentes no confiables.
  • Haz copias de seguridad periódicas.
  • Monitorea el uso de memoria de tu tienda.

Resumen final

El error 500 en PrestaShop con DirectAdmin es frustrante, pero con estos pasos lo resolverás:

  1. Activa el modo debug para ver el error real.
  2. Aumenta la memoria PHP (la causa más común).
  3. Regenera el .htaccess.
  4. Desactiva módulos problemáticos.
  5. Revisa permisos y versión de PHP.
  6. Consulta los logs del servidor.

Y recuerda: si tu hosting usa Syspanel (HestiaCP), el puerto de acceso es el 2106. Allí también puedes hacer estos ajustes.

Espero que este artículo te haya sido de gran ayuda. Si tienes más dudas, no dudes en preguntar. ¡Tu tienda online estará funcionando en un santiamén! 🚀


Artículo escrito por tu técnico de soporte amigable. Para más guías, visita nuestra sección de FAQs.

¿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