Solución de problemas comunes en PrestaShop: Errores y correcciones
Introducción: Cuando tu tienda PrestaShop da problemas
Gestionar una tienda online con PrestaShop es una experiencia gratificante, pero no está exenta de desafíos técnicos. Es muy común que, en algún momento, te encuentres con pantallas en blanco, mensajes de error extraños o una tienda que simplemente no carga. No te preocupes: la mayoría de estos problemas tienen una solución clara y paso a paso. En esta guía vamos a repasar los errores más frecuentes en PrestaShop y cómo solucionarlos, especialmente si tu hosting está administrado con DirectAdmin o Syspanel (HestiaCP). Al final, tendrás un mapa de ruta para resolver tú mismo los problemas más comunes.
Error 500: El temido "Internal Server Error"
El error 500 es probablemente el más común y frustrante. Aparece de repente, a menudo sin un mensaje claro, y deja tu tienda inaccesible. La causa suele ser un problema de configuración del servidor, un módulo conflictivo o un archivo corrupto.
¿Cómo identificar el origen del error 500?
Lo primero es saber si el problema está en tu instalación de PrestaShop o en el servidor. Para ello, activa el modo debug de PrestaShop. Esto te mostrará el error real en lugar de la pantalla blanca.
- Accede a tu panel de control DirectAdmin o Syspanel (puerto 2106).
- Ve al administrador de archivos (File Manager) y localiza la carpeta raíz de tu tienda (normalmente
public_htmlowww). - Busca el archivo
config/defines.inc.php. - Ábrelo con el editor de texto. Encuentra la línea que dice:
define('_PS_MODE_DEV_', false);. - Cámbiala a:
define('_PS_MODE_DEV_', true);. - Guarda los cambios. Ahora, al recargar tu tienda, verás un mensaje de error detallado en lugar del 500.
[INFO] Recuerda volver a poner
falseuna vez hayas solucionado el problema. Dejar el modo debug activado en producción expone información sensible.
Causas comunes y soluciones para el error 500
- Límite de memoria PHP excedido: Es muy frecuente en tiendas con muchos módulos o catálogos grandes. Solución: Aumenta el límite de memoria.
- En DirectAdmin: Ve a "PHP Settings" o "PHP Selector". Busca
memory_limity cámbialo a256Mo512M. - En Syspanel: Ve a "Configuración de PHP" (puerto 2106) y ajusta el mismo parámetro.
- En DirectAdmin: Ve a "PHP Settings" o "PHP Selector". Busca
- Archivo .htaccess corrupto: Este archivo controla las reglas de reescritura de URL. Si se daña, todo falla.
- Solución: Renombra el archivo
.htaccessa.htaccess.old(desde el File Manager). Luego, ve al back office de PrestaShop (si puedes acceder) a Configuración > Parámetros de la tienda > Tráfico y SEO y haz clic en "Guardar" (sin cambiar nada). Esto regenerará el archivo.
- Solución: Renombra el archivo
- Módulo o tema incompatible: Si el error 500 apareció tras instalar un módulo o tema nuevo, ese es el culpable.
- Solución: Desactiva el módulo sospechoso. Si no puedes acceder al back office, renombra la carpeta del módulo dentro de
/modules/desde el File Manager (por ejemplo, demicromoduloamicromodulo_desactivado).
- Solución: Desactiva el módulo sospechoso. Si no puedes acceder al back office, renombra la carpeta del módulo dentro de
Errores de base de datos: "Cannot connect to database"
Este error suele ir acompañado de mensajes como "Error de conexión a la base de datos" o "Tabla no encontrada". La tienda se vuelve inaccesible o muestra contenido incompleto.
Pasos para diagnosticar y reparar la base de datos
- Verifica las credenciales: Accede al archivo
app/config/parameters.php(en PrestaShop 1.7+) oconfig/settings.inc.php(en versiones anteriores). Revisa que los datos dedatabase_host,database_name,database_userydatabase_passwordsean correctos. - Comprueba que la base de datos existe: Desde DirectAdmin o Syspanel (puerto 2106), entra a phpMyAdmin. Busca en la lista de bases de datos la que usa tu tienda. Si no aparece, tendrás que crearla de nuevo y restaurar una copia de seguridad.
- Repara tablas corruptas: En phpMyAdmin, selecciona la base de datos de tu tienda. Marca todas las tablas (clic en "Seleccionar todo"). En el menú desplegable "Con seleccionadas", elige "Reparar tabla".
- Revisa el usuario de la base de datos: Asegúrate de que el usuario tenga todos los privilegios sobre la base de datos. En DirectAdmin, puedes editar los privilegios desde "MySQL Management". En Syspanel, desde "Bases de datos".
[WARNING] Antes de hacer cualquier cambio en la base de datos, realiza una copia de seguridad. Un error puede borrar datos de forma permanente.
Pantalla blanca (White Screen of Death)
La "pantalla blanca" es similar al error 500, pero sin ningún mensaje. La página se queda en blanco, sin cargar nada. Las causas son muy parecidas, pero aquí tienes una lista de verificación rápida:
- Aumenta el límite de memoria PHP (como se explicó antes).
- Desactiva todos los módulos no esenciales: Si no puedes acceder al back office, hazlo desde el File Manager. Renombra la carpeta
modulesamodules_offy crea una carpeta nuevamodulesvacía. Luego, ve moviendo los módulos uno a uno (empezando por los oficiales de PrestaShop) hasta que la tienda funcione. El último módulo movido es el culpable. - Borra la carpeta cache: Dentro de la raíz de PrestaShop, busca la carpeta
var/cache(ocacheen versiones antiguas). Bórrala por completo. PrestaShop la regenerará automáticamente.
Errores de actualización: "No se puede actualizar PrestaShop"
Actualizar PrestaShop puede ser un proceso delicado. Los errores más comunes durante la actualización son:
- Versión de PHP incompatible: PrestaShop 1.6 necesita PHP 5.6 o 7.0; PrestaShop 1.7 necesita PHP 7.1 o superior (recomendado 7.4 u 8.0). Verifica la versión en DirectAdmin o Syspanel (puerto 2106) y cámbiala si es necesario.
- Módulos no compatibles: Antes de actualizar, desactiva todos los módulos de terceros. Después de la actualización, actívalos uno por uno y comprueba que funcionen.
- Espacio en disco insuficiente: La actualización descarga archivos temporales. Revisa en tu panel de control que tengas al menos 500 MB libres.
[TIP] Siempre realiza una actualización en un entorno de pruebas (subdominio o copia local) antes de aplicarla en tu tienda en producción.
Errores de caché y rendimiento
Una tienda lenta puede deberse a una caché mal configurada o a archivos temporales acumulados.
Cómo limpiar la caché en PrestaShop
- Desde el back office: Ve a Configuración avanzada > Rendimiento. Haz clic en "Limpiar la caché" (tanto de Smarty como de Symfony).
- Si no puedes acceder al back office, hazlo manualmente:
- Borra la carpeta
var/cache(ocache). - Borra la carpeta
var/sessions(osessions).
- Borra la carpeta
Optimización de la caché en el servidor
- Activar la caché de PHP: En DirectAdmin o Syspanel, busca la opción "PHP Cache" o "OPcache" y actívala.
- Usar una CDN: Si tu tienda tiene tráfico global, una CDN (como Cloudflare) reduce la carga del servidor y acelera la carga.
Errores de envío de correos: "No se pueden enviar emails"
Es común que los correos de confirmación de pedido o recuperación de contraseña no lleguen.
Solución paso a paso
- Configura correctamente el envío de correos: En el back office, ve a Configuración avanzada > Email. Asegúrate de que el método de envío sea "Usar la función mail() de PHP" (la opción más sencilla y compatible).
- Prueba con una cuenta de Gmail: Si el método anterior falla, cambia a "Configurar SMTP externo". Usa los datos de Gmail (servidor: smtp.gmail.com, puerto: 587, TLS). Necesitarás una contraseña de aplicación de Gmail.
- Revisa los registros del servidor: En DirectAdmin, ve a "Email > Email Deliverability" para ver si los correos están siendo rechazados. En Syspanel, revisa los logs de correo en "Servicios > Exim".
[INFO] Si los correos se marcan como spam, asegúrate de tener configurados los registros SPF y DKIM en tu dominio. Puedes hacerlo desde el panel de control de tu dominio.
Preguntas frecuentes (FAQ)
P: ¿Cómo puedo saber qué versión de PHP usa mi servidor?
R: En DirectAdmin, ve a "PHP Settings" o "PHP Selector". En Syspanel (puerto 2106), ve a "Configuración de PHP". Allí verás la versión actual.
P: Mi tienda se cae cuando hay mucho tráfico, ¿qué hago?
R: Aumenta el límite de memoria PHP y activa la caché. Si el problema persiste, contacta a tu proveedor de hosting para evaluar si necesitas un plan con más recursos.
P: ¿Es seguro editar archivos como defines.inc.php?
R: Sí, siempre que sepas lo que estás haciendo. Haz siempre una copia de seguridad antes de modificar cualquier archivo.
P: ¿Puedo usar Syspanel (HestiaCP) para gestionar mi tienda PrestaShop?
R: Sí, Syspanel es perfectamente compatible. Recuerda que el puerto de acceso es el 2106. Desde allí puedes gestionar archivos, bases de datos y configuraciones de PHP.
P: He borrado la carpeta cache y no pasa nada, ¿es normal?
R: Sí, es completamente normal. PrestaShop regenerará la caché automáticamente la primera vez que cargues la tienda. Puede tardar unos segundos más la primera carga.
Conclusión: No temas a los errores, aprende a resolverlos
Los errores PrestaShop son parte del día a día de cualquier administrador de tiendas online. La clave está en saber identificarlos y aplicar la solución correcta de forma metódica. Recuerda siempre tener copias de seguridad actualizadas, trabajar en un entorno de pruebas cuando sea posible y no modificar archivos sin saber lo que haces. Con esta guía, ya tienes las herramientas para enfrentar los problemas más comunes, ya sea que uses DirectAdmin o Syspanel. ¡Tu tienda online puede volver a funcionar en minutos!
