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

Cómo resolver errores comunes de PrestaShop en DirectAdmin

Actualizado el 18 de junio de 2026

Si tu tienda PrestaShop está alojada en un servidor con panel de control DirectAdmin, es probable que en algún momento te enfrentes a algún error. La combinación de PrestaShop, un CMS potente pero exigente, y DirectAdmin, un panel robusto pero con configuraciones específicas, puede generar conflictos. No te preocupes, en esta guía extensa y detallada te explicamos cómo resolver los errores PrestaShop DirectAdmin más comunes, paso a paso y en un lenguaje muy sencillo. Nuestro objetivo es que puedas solucionar PrestaShop DirectAdmin sin ser un experto técnico.


1. Error de conexión a la base de datos (Database connection error)

Este es uno de los problemas PrestaShop DirectAdmin más frecuentes. Aparece cuando la tienda no puede comunicarse con MySQL o MariaDB.

Causas más comunes

  • Contraseña o usuario de la base de datos incorrectos.
  • La base de datos ha sido borrada o no existe.
  • El servidor de base de datos está caído o sobrecargado.
  • Errores en el archivo de configuración app/config/parameters.php.

Cómo solucionarlo

  1. Verifica los datos de acceso en DirectAdmin: Accede a tu panel DirectAdmin. Busca la sección "MySQL Management" o "Database Manager". Revisa que la base de datos, el usuario y la contraseña que usas en PrestaShop coincidan exactamente con los que ves aquí.
  2. Comprueba el archivo de configuración: Conéctate a tu hosting vía FTP (FileZilla es buena opción) o usa el "File Manager" de DirectAdmin. Navega hasta la carpeta app/config/ y descarga el archivo parameters.php. Ábrelo con un editor de texto (como Notepad++). Busca las líneas:
    • 'database_host' (normalmente localhost o 127.0.0.1).
    • 'database_name'
    • 'database_user'
    • 'database_password'
      Asegúrate de que son los mismos que en DirectAdmin. Si no, corrígelos y guarda el archivo.
  3. Reinicia MySQL desde DirectAdmin: En el panel, ve a "Account Manager" > "MySQL Management". A veces hay un botón "Restart MySQL" o similar. Si no lo ves, contacta a tu proveedor de hosting para que lo haga.
  4. Prueba la conexión manualmente: Desde el phpMyAdmin de DirectAdmin (suele estar en "phpMyAdmin" o "Database Manager"), intenta acceder con los mismos datos. Si no puedes, el error está en los datos. Si sí puedes, el problema es de PrestaShop.

[TIP] Si cambiaste la contraseña de la base de datos, recuerda actualizarla también en el archivo parameters.php. De lo contrario, PrestaShop seguirá usando la antigua.


2. Error 500 – Internal Server Error

El temido error 500. Es un error genérico que indica que algo falló en el servidor, pero no da detalles. En DirectAdmin, suele deberse a problemas con el archivo .htaccess o con los permisos de archivos.

Causas habituales

  • Archivo .htaccess corrupto o con reglas incorrectas.
  • Permisos de archivos o carpetas inadecuados (ej: 777 en lugar de 755).
  • Módulo de Apache (mod_rewrite) deshabilitado.
  • PHP memory limit muy bajo.

Pasos para resolverlo

  1. Renombra el archivo .htaccess: Conéctate vía FTP o File Manager a la raíz de tu PrestaShop (donde están carpetas como admin, img, modules). Busca el archivo .htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos" en tu cliente FTP. Renómbralo a .htaccess_backup. Si el error desaparece, el problema era ese archivo. Luego puedes regenerarlo desde el BO de PrestaShop (Parámetros de la tienda > Tráfico y SEO > SEO y URLs > botón "Guardar").
  2. Corrige los permisos de archivos: Los archivos deben tener permisos 644 y las carpetas 755. En DirectAdmin, usa el "File Manager", selecciona la carpeta raíz de tu tienda y haz clic en "Change Permissions". Aplica los valores correctos. Si hay muchos archivos, usa un cliente FTP para hacerlo recursivamente.
  3. Habilita mod_rewrite: En DirectAdmin, ve a "Account Manager" > "Website Management" > "Apache Handlers" o "Custom HTTP Config". Asegúrate de que mod_rewrite está activo. Si no, solicita a tu hosting que lo active.
  4. Aumenta el límite de memoria PHP: En DirectAdmin, busca "PHP Settings" o "Select PHP Version". Dentro, hay una opción "Memory Limit". Súbelo a 256M o 512M. Guarda los cambios.

[WARNING] No pongas permisos 777 a archivos o carpetas. Es un grave riesgo de seguridad. Usa siempre 755 para carpetas y 644 para archivos.


3. Error de carga de imágenes o "Image cannot be loaded"

Este error aparece al subir imágenes de productos, categorías o en el tema. Generalmente se debe a limitaciones de PHP o a la configuración de GD/ImageMagick.

Causas principales

  • Límite de tamaño de subida (upload_max_filesize) muy bajo.
  • Tiempo máximo de ejecución (max_execution_time) insuficiente.
  • La extensión PHP GD no está instalada o activa.
  • Carpeta img con permisos incorrectos.

Solución paso a paso

  1. Aumenta los límites de PHP: Desde DirectAdmin, ve a "PHP Settings". Modifica estos valores:
    • upload_max_filesize = 64M (o más, según tus imágenes).
    • post_max_size = 64M (debe ser mayor o igual que upload).
    • max_execution_time = 300 (5 minutos).
    • memory_limit = 256M.
      Guarda los cambios y reinicia PHP si es necesario.
  2. Verifica que GD esté activo: En "PHP Settings" busca "GD" o "gd". Debe estar habilitado. Si no, actívalo. Si no aparece, contacta a tu hosting.
  3. Revisa permisos de la carpeta img: La carpeta img y sus subcarpetas (como p, c, etc.) deben tener permisos 755. Si alguna tiene 644, cámbiala a 755. Además, el propietario de los archivos debe ser el usuario del hosting (no root).
  4. Limpia la caché de PrestaShop: Ve al BO de PrestaShop > Parámetros avanzados > Rendimiento. Pulsa "Limpiar caché". A veces imágenes corruptas en caché causan este error.

[INFO] Si después de todo sigue fallando, prueba a desactivar la opción "Usar ImageMagick" en Parámetros avanzados > Rendimiento y activa "Usar la librería GD". Guarda y prueba de nuevo.


4. Error de redirección o bucle de redirecciones

Tu tienda se queda cargando y cargando, o te manda de una URL a otra sin parar. Esto suele ser un conflicto entre la configuración de URL de PrestaShop y las reglas de DirectAdmin.

Causas frecuentes

  • Configuración incorrecta de la URL en PrestaShop (con o sin www, HTTP o HTTPS).
  • Reglas de redirección en .htaccess que entran en conflicto.
  • Certificado SSL mal configurado o forzado desde PrestaShop pero no desde el servidor.

Cómo arreglarlo

  1. Verifica la URL base en la base de datos: Conéctate a phpMyAdmin desde DirectAdmin. Selecciona la base de datos de tu tienda. Busca la tabla ps_configuration (el prefijo puede ser diferente). Localiza las filas PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL. Asegúrate de que tengan el dominio correcto, sin http:// ni https://, solo el dominio (ej: tutienda.com). Si usas SSL, PS_SHOP_DOMAIN_SSL debe tener el mismo dominio.
  2. Ajusta la URL desde el BO (si puedes acceder): Ve a Parámetros de la tienda > Tráfico y SEO > SEO y URLs. En "Configuración de la tienda", asegúrate de que "URL base" y "URL base SSL" sean correctas. Marca "Activar SSL" y "Activar SSL en todas las páginas" si tienes certificado.
  3. Limpia el archivo .htaccess: Como en el error 500, renombra el .htaccess a .htaccess_backup. Luego regenera uno nuevo desde el BO. Si no puedes acceder al BO, crea un archivo .htaccess vacío en la raíz y luego desde el BO lo regeneras.
  4. Desactiva redirecciones forzadas desde DirectAdmin: En DirectAdmin, ve a "SSL Certificates" y asegúrate de que no haya una redirección forzada a HTTPS que entre en conflicto con la de PrestaShop. Lo ideal es que solo PrestaShop gestione la redirección.

[WARNING] Si cambias la URL base desde la base de datos, ten mucho cuidado de no tocar otras filas. Haz siempre una copia de seguridad antes.


5. Error "The website encountered an unexpected error. Please try again later."

Este es un error genérico de PrestaShop 1.7+ que suele ocultar un problema más específico. Para ver el error real, debes activar el modo debug.

Cómo obtener el mensaje real

  1. Activa el modo debug: Conéctate vía FTP o File Manager a la raíz de tu tienda. Busca el archivo config/defines.inc.php. Ábrelo y busca la línea:
    define('_PS_MODE_DEV_', false);
    Cámbiala a:
    define('_PS_MODE_DEV_', true);
    Guarda el archivo. Ahora, al recargar la página, verás un mensaje de error detallado (PHP Fatal error, etc.).
  2. Soluciona según el error: Los más comunes son:
    • Class not found: Falta un módulo o archivo. Reinstala el módulo o restaura el archivo desde una copia de seguridad.
    • Allowed memory size exhausted: Aumenta el memory limit como explicamos antes.
    • Call to undefined function: Falta una extensión PHP (ej: curl, mbstring). Actívala desde "PHP Settings" de DirectAdmin.
  3. Desactiva el modo debug: Una vez resuelto, vuelve a cambiar _PS_MODE_DEV_ a false por seguridad.

[TIP] Si el error persiste, revisa los logs de error de PHP en DirectAdmin. Ve a "Account Manager" > "Error Logs" o busca en la carpeta logs de tu hosting. Allí suele haber pistas claras.


6. Problemas con módulos o temas (error al instalar/activar)

A veces, al instalar un módulo o tema, PrestaShop da error o se queda en blanco. Esto suele deberse a permisos o a la configuración de PHP.

Causas típicas

  • La carpeta modules o themes no tiene permisos de escritura.
  • El módulo requiere extensiones PHP que no están activas (ej: zip, curl).
  • Límite de tiempo de ejecución muy bajo para la instalación.

Solución

  1. Da permisos de escritura temporalmente: La carpeta modules y themes deben tener permisos 755. Si no, cámbialos. Durante la instalación, a veces necesitan 777 temporalmente, pero nunca los dejes así. Una vez instalado, vuelve a 755.
  2. Activa extensiones PHP necesarias: Desde "PHP Settings" de DirectAdmin, activa zip, curl, gd, mbstring, dom, simplexml, xml. Son las más comunes para módulos.
  3. Aumenta el tiempo de ejecución: Temporalmente, sube max_execution_time a 600 (10 minutos) para instalaciones grandes.
  4. Instala desde el BO o manualmente: Si falla la instalación automática, descarga el módulo, súbelo vía FTP a la carpeta /modules/ y actívalo desde el BO.

[INFO] Si el módulo es de pago, asegúrate de que la clave de licencia es correcta y que el dominio está autorizado.


7. Página en blanco (White Screen of Death)

La pantalla completamente blanca sin ningún mensaje. Es uno de los errores PrestaShop DirectAdmin más frustrantes.

Causas probables

  • Error de PHP fatal, pero con display_errors desactivado.
  • Módulo conflictivo.
  • Límite de memoria agotado.
  • Archivo index.php corrupto.

Cómo solucionarlo

  1. Activa el modo debug (como en el punto 5) para ver el error real.
  2. Desactiva módulos uno por uno: Si no puedes acceder al BO, renombra la carpeta modules a modules_backup y crea una nueva carpeta modules vacía. Luego, desde el BO, reinstala los módulos esenciales. Esto te ayudará a identificar el módulo problemático.
  3. Aumenta el memory limit a 512M o más.
  4. Reemplaza el index.php: Descarga una copia limpia de PrestaShop de la misma versión que tienes. Extrae el archivo index.php de la raíz y súbelo vía FTP, sobrescribiendo el existente.

[WARNING] Antes de hacer cambios drásticos como borrar carpetas, haz siempre una copia de seguridad completa de tu tienda (archivos y base de datos).


8. Error al enviar correos (Mail not sent)

PrestaShop no envía correos de confirmación de pedidos, recuperación de contraseñas, etc.

Causas comunes

  • Configuración SMTP incorrecta en PrestaShop.
  • El servidor de correo de DirectAdmin está bloqueado o mal configurado.
  • Función PHP mail() deshabilitada.

Pasos para resolverlo

  1. Configura SMTP en PrestaShop: Ve al BO > Parámetros avanzados > Correo electrónico. Elige "Usar mis propios parámetros SMTP". Introduce los datos de tu servidor de correo (suelen ser: servidor: mail.tudominio.com, puerto: 587, autenticación: Sí, usuario: tucorreo@tudominio.com, contraseña: la de tu correo). Guarda y prueba.
  2. Verifica la configuración de correo en DirectAdmin: Asegúrate de que tienes una cuenta de correo creada para tu dominio y que funciona (pruébala desde un cliente como Outlook o webmail).
  3. Comprueba que PHP mail() está activo: En "PHP Settings" de DirectAdmin, busca mail function y asegúrate de que está habilitada. Si usas SMTP, esto no es necesario, pero a veces ayuda.
  4. Revisa los logs de correo: En DirectAdmin, ve a "Account Manager" > "Mail Queue" o "Email Logs". Allí verás si los correos están siendo rechazados o si hay errores.

[TIP] Para pruebas, usa un correo electrónico real (no de prueba) y revisa la bandeja de spam. A veces los correos legítimos caen allí.


9. Error de actualización de PrestaShop

Al intentar actualizar tu tienda, aparece un error que impide completar el proceso.

Causas frecuentes

  • Permisos de archivos incorrectos.
  • Módulos incompatibles con la nueva versión.
  • Tiempo de ejecución insuficiente.
  • La versión de PHP no es compatible.

Cómo proceder

  1. Verifica los requisitos de la nueva versión: Antes de actualizar, revisa qué versión de PHP y extensiones requiere. Ajústalos desde "PHP Settings" de DirectAdmin.
  2. Aumenta los límites de PHP: Temporalmente, pon max_execution_time a 600 y memory_limit a 512M.
  3. Desactiva todos los módulos no esenciales antes de la

¿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