Solución a errores de módulos en PrestaShop con DirectAdmin
¿Tu tienda PrestaShop se ha quedado en blanco, muestra un error extraño al activar un plugin o directamente no te deja instalar un módulo nuevo? No te preocupes, es una situación muy común y, por suerte, casi siempre tiene solución. En este artículo vamos a desgranar paso a paso cómo identificar y solucionar los errores de módulos en PrestaShop cuando tu servidor utiliza DirectAdmin. Te explicaré desde lo más básico hasta trucos más avanzados, todo en un lenguaje claro y sin tecnicismos innecesarios.
¿Por qué fallan los módulos en PrestaShop?
Los módulos de PrestaShop son como piezas de Lego que añaden funciones a tu tienda. Cuando fallan, suele ser por problemas de comunicación entre el módulo y el servidor. DirectAdmin es un panel de control potente, pero a veces su configuración por defecto choca con los requisitos de PrestaShop. Los errores más típicos incluyen pantallas en blanco, mensajes de "Error 500", problemas de permisos de archivos o incompatibilidades con la versión de PHP.
[INFO] Antes de empezar, asegúrate de tener una copia de seguridad reciente de tu tienda y base de datos. Nunca está de más prevenir.
Primeros pasos: diagnóstico rápido
Antes de lanzarte a hacer cambios, necesitas saber qué está pasando exactamente. PrestaShop suele ocultar los errores reales por seguridad, mostrando solo una página blanca. Vamos a destaparlos.
Activar el modo debug de PrestaShop
Este es el primer paso para cualquier problema técnico. El modo debug te mostrará el error concreto en lugar de una pantalla en blanco.
- Accede a tu panel de control DirectAdmin y busca el administrador de archivos.
- Navega hasta la carpeta raíz de tu tienda (normalmente
public_htmlo el nombre de tu dominio). - Busca el archivo llamado
config/defines.inc.php. - Ábrelo para editarlo 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 del error, verás un mensaje mucho más descriptivo. Anota ese mensaje, te será muy útil.
Revisar los logs del servidor en DirectAdmin
Si el modo debug no te da suficiente información, los logs del servidor son tu mejor amigo.
- En DirectAdmin, busca la sección "Logs" o "Gestión de Logs".
- Accede al "Error Log" del dominio afectado.
- Busca las últimas entradas, especialmente las que tengan la fecha y hora del error.
- Copia el texto completo del error. Palabras como "PHP Fatal error", "Allowed memory size" o "Permission denied" son pistas clave.
Soluciones a errores comunes de módulos
Una vez que tienes una pista, podemos aplicar la solución adecuada. Aquí tienes las más frecuentes y cómo arreglarlas en DirectAdmin.
1. Error de permisos de archivos y carpetas
Este es, con diferencia, el error más habitual. Los módulos necesitan poder escribir en ciertas carpetas para instalarse y funcionar. Si los permisos son incorrectos, recibirás un error como "No se puede escribir en la carpeta".
Solución:
- En DirectAdmin, ve al "Administrador de Archivos".
- Selecciona toda la carpeta de tu tienda (desde la raíz).
- Haz clic en "Cambiar permisos".
- Marca la opción "Recursivo" (para aplicar los cambios a todas las subcarpetas).
- Establece los siguientes permisos:
- Carpetas: 755 (rwxr-xr-x)
- Archivos: 644 (rw-r--r--)
- Haz clic en "Aceptar".
[TIP] Para las carpetas
cache,log,img,mails,modules,themes,overrideyupload, puedes necesitar permisos 755. Esto permite a PrestaShop escribir archivos temporales.
2. Límite de memoria PHP (Memory Limit) excedido
Si el módulo es pesado o tu tienda tiene muchos productos, puede que necesites más memoria PHP de la que tienes asignada por defecto.
Solución en DirectAdmin:
- Ve a "Configuración de PHP" o "Selector de PHP" en DirectAdmin.
- Busca la opción
memory_limit. - Auméntalo a un valor como
256Mo incluso512Msi tu hosting lo permite. - Guarda los cambios y reinicia el servicio PHP si es necesario (suele haber un botón para ello).
También puedes hacerlo manualmente creando un archivo php.ini en la raíz de tu tienda con el siguiente contenido:
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 120
3. Incompatibilidad con la versión de PHP
PrestaShop y sus módulos son muy sensibles a la versión de PHP. Un módulo antiguo puede fallar en PHP 8.0, y uno moderno puede no funcionar en PHP 7.0.
Solución en DirectAdmin:
- En DirectAdmin, busca "Selector de PHP" o "Versión de PHP".
- Cambia la versión de PHP de tu dominio. Las versiones más estables para PrestaShop 1.7 y 8.x suelen ser PHP 7.4 o 8.0.
- Si el módulo es muy antiguo, prueba con PHP 7.4. Si es moderno, PHP 8.0 o 8.1.
- Guarda los cambios y comprueba si el error persiste.
[WARNING] Cambiar la versión de PHP puede afectar a otros módulos o a tu propia instalación. Hazlo con cuidado y prueba la tienda después.
4. Problemas con la extensión "ionCube" o "SourceGuardian"
Algunos módulos comerciales vienen encriptados con estas herramientas. Si tu servidor no tiene los loaders necesarios, el módulo no se ejecutará.
Solución en DirectAdmin:
- Ve a "Configuración de PHP" o "Selector de PHP".
- Busca la opción "Extensiones" o "PHP Extensions".
- Asegúrate de que
ionCube LoaderoSourceGuardianestén activados. - Si no aparecen, contacta con tu proveedor de hosting para que los instale o actívalos desde la sección "Custom PHP Extensions" si está disponible.
5. Error "500 Internal Server Error" al instalar
Este error genérico suele deberse a un archivo .htaccess corrupto o a un conflicto con las reglas de reescritura de URL.
Solución:
- Desde el Administrador de Archivos de DirectAdmin, localiza el archivo
.htaccessen la raíz de tu tienda. - Descarga una copia de seguridad.
- Elimina el archivo
.htaccessoriginal. - Ve al panel de administración de PrestaShop (si puedes acceder) y regenera el
.htaccessdesde "Parámetros de la tienda > Tráfico y SEO > Configuración de URL amigables". - Si no puedes acceder al panel, crea un nuevo
.htaccesscon el contenido básico de PrestaShop (puedes obtenerlo de una instalación limpia o de la documentación oficial) y súbelo.
Soluciones avanzadas para casos difíciles
Si los pasos anteriores no funcionan, toca rascar un poco más. Aquí tienes técnicas más específicas.
Desinstalar un módulo problemático manualmente
Si un módulo se ha instalado mal y no te deja ni desinstalarlo desde el panel, puedes hacerlo a la fuerza.
- Desde DirectAdmin, ve al Administrador de Archivos.
- Navega a la carpeta
/modulesdentro de tu tienda. - Busca la carpeta del módulo problemático (por su nombre) y elimínala o renómbrala (ej:
micodigomoduloamicodigomodulo_desactivado). - Luego, ve a la base de datos. En DirectAdmin, usa "phpMyAdmin".
- Selecciona la base de datos de tu tienda.
- Busca la tabla
ps_module(el prefijops_puede variar). - Localiza el módulo por su nombre y elimina esa fila.
- Limpia la caché de PrestaShop. Puedes hacerlo borrando manualmente el contenido de la carpeta
/var/cache(dentro de la raíz de tu tienda) o desde el panel si aún puedes acceder.
Aumentar el tiempo de ejecución de PHP
Algunos módulos que hacen procesos pesados (como importar productos) pueden agotar el tiempo límite.
Solución:
Además de modificar el php.ini (como vimos antes), añade esta línea:
max_execution_time = 300
Esto da 5 minutos para que el proceso termine. Si el módulo sigue fallando, puedes subirlo a 600.
Forzar la compatibilidad de un módulo
PrestaShop tiene un sistema de compatibilidad que impide instalar módulos no verificados para tu versión. A veces hay que saltárselo.
- Descarga el módulo en tu ordenador.
- Ábrelo con un editor de texto (como Notepad++).
- Busca el archivo
config.xmldentro de la carpeta del módulo. - Modifica las líneas de compatibilidad para que coincidan con tu versión de PrestaShop. Por ejemplo, si tienes PrestaShop 1.7.8, cambia el rango a
<version><![CDATA[1.7.8]]></version>. - Vuelve a comprimir la carpeta en un ZIP y súbelo desde el panel de administración de PrestaShop.
[WARNING] Forzar la compatibilidad puede causar errores inesperados. Úsalo solo como último recurso y siempre con un backup.
Preguntas Frecuentes (FAQ)
¿Qué hago si después de todo el módulo sigue sin funcionar?
Si has probado todos los pasos anteriores y el error persiste, el problema puede ser del propio módulo. Contacta con el desarrollador del módulo y proporciónale el mensaje de error exacto que viste al activar el modo debug.
¿Puedo usar Syspanel (HestiaCP) para solucionar estos errores?
Sí, los pasos son prácticamente los mismos. La principal diferencia es que en Syspanel (el nombre de HestiaCP), el acceso al panel de control se hace a través del puerto 2106 (ej: tudominio.com:2106). Las opciones de "Administrador de Archivos", "Base de Datos" y "Configuración de PHP" se encuentran en el menú lateral o en la pestaña "WEB" del dominio.
¿Cómo restauro mi tienda si la he roto?
Tranquilo, para eso está la copia de seguridad que hiciste al principio. Desde DirectAdmin, busca la sección "Backups" o "Copias de seguridad". Allí puedes restaurar archivos y bases de datos. Si tu hosting no lo ofrece, puedes subir manualmente los archivos de tu backup usando FTP o el Administrador de Archivos.
¿Es normal que algunos módulos no se actualicen?
Sí, a veces las actualizaciones fallan por conflictos de permisos o de base de datos. Si una actualización se queda a medias, desinstala el módulo (si puedes) y vuelve a instalarlo desde cero con la nueva versión. Si no puedes desinstalarlo, aplica el método de desinstalación manual que te expliqué antes.
Espero que esta guía te haya sido de gran ayuda. Recuerda que la paciencia es clave y que, paso a paso, casi cualquier error de módulos en PrestaShop tiene solución, especialmente si sabes moverte por DirectAdmin. ¡Mucho éxito con tu tienda!
