Solución de errores comunes en PrestaShop (500, 404, conexión BD)
¿Tu tienda PrestaShop se ha caído? Ver un error 500, un 404 o un mensaje de "conexión a la base de datos fallida" puede ser frustrante, sobre todo si no tienes experiencia técnica. No te preocupes. Como técnico de soporte, te guiaré paso a paso para que puedas diagnosticar y solucionar los problemas más comunes.
Este artículo está pensado para que tú mismo, como SysAdmin o propietario de la tienda, puedas resolver estos errores PrestaShop sin necesidad de ser un experto en programación. Vamos a ello.
¿Por qué ocurren los errores en PrestaShop?
PrestaShop es un sistema complejo que depende de tres pilares: el código PHP, el servidor web (Apache o Nginx) y la base de datos MySQL/MariaDB. Cuando uno de estos falla, aparecen los errores. Los más frecuentes son el error 500 (interno del servidor), el error 404 (página no encontrada) y los problemas de conexión base de datos PrestaShop.
A continuación, te explico cómo identificar y arreglar cada uno.
Solución al error 500 en PrestaShop
El error 500 es el más temido porque no da detalles. Es un error genérico que indica que algo falló en el servidor, pero no dice qué. Para solucionarlo, debemos activar el modo debug de PrestaShop.
Paso 1: Activar el modo debug
El modo debug muestra el error real. Para activarlo, edita el archivo config/defines.inc.php que está en la raíz de tu instalación de PrestaShop.
- Accede a tu servidor por FTP o mediante el administrador de archivos de tu panel de control (por ejemplo, Syspanel, cuyo acceso es por el puerto 2106).
- Busca el archivo
config/defines.inc.php. - Ábrelo con un editor de texto (Bloc de notas, Sublime Text, etc.).
- Localiza la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda el archivo y recarga tu tienda.
[WARNING] No dejes el modo debug activado en producción. Una vez solucionado el error, vuelve a ponerlo en
false.
Paso 2: Interpretar el mensaje de error
Al activar el debug, verás un mensaje como este: Fatal error: Uncaught Error: Call to undefined function... o Parse error: syntax error.... Aquí tienes los casos más habituales:
- Error de memoria:
Allowed memory size of X bytes exhausted. Aumenta el límite de memoria en el archivophp.ini. - Error de sintaxis:
Parse error. Revisa si has modificado algún archivo PHP recientemente (un módulo, un tema, etc.). Deshaz el cambio. - Error de clase no encontrada:
Class 'X' not found. Suele ocurrir al instalar un módulo incompatible. Desactívalo desde la base de datos (lo veremos más adelante).
Paso 3: Soluciones rápidas para el error 500
- Aumentar la memoria PHP: Edita el archivo
php.inide tu servidor (en Syspanel, puedes hacerlo desde la sección "PHP Settings"). Buscamemory_limity cámbialo amemory_limit = 256Mo512M. - Desactivar módulos problemáticos: Si no puedes acceder al panel de administración, desactiva todos los módulos no nativos desde la base de datos. Conéctate a phpMyAdmin (desde Syspanel, en la sección "Bases de datos"), selecciona la BD de tu tienda, ve a la tabla
ps_moduley ponactive = 0en todos los módulos que no sean de PrestaShop (los que empiezan porps_oblock). - Verificar permisos de archivos: Los archivos deben tener permisos 644 y las carpetas 755. Si los has cambiado por error, restáuralos.
[TIP] Si el error 500 aparece solo en algunas páginas (como el carrito o el checkout), el problema suele ser un módulo de pago o envío desactualizado.
Solución al error 404 en PrestaShop
El error 404 significa que la página no se encuentra. En PrestaShop, esto suele deberse a que la URL amigable (SEO) no está bien configurada o a que el archivo .htaccess está corrupto.
Paso 1: Regenerar el archivo .htaccess
El archivo .htaccess es el que le dice al servidor cómo interpretar las URLs. Si se daña, aparecen los errores 404.
- Accede al panel de administración de PrestaShop (Back Office).
- Ve a Configuración de la tienda > Parámetros generales > Configuración de SEO y URLs.
- En la parte inferior, verás un botón que dice Guardar. No necesitas cambiar nada, solo haz clic en Guardar. Esto regenera automáticamente el archivo
.htaccess.
[INFO] Si no puedes acceder al Back Office, puedes crear el
.htaccessmanualmente. Descarga uno de ejemplo de Internet (búscalo como "PrestaShop .htaccess default") y súbelo a la raíz de tu instalación.
Paso 2: Verificar las URLs amigables
Si el error 404 persiste, comprueba que las URLs amigables estén activadas correctamente.
- En el Back Office, ve a Configuración de la tienda > Parámetros generales > Configuración de SEO y URLs.
- Asegúrate de que la opción URLs amigables esté en Sí.
- En el campo Esquema de URL, debe aparecer algo como
{category:/}{id}-{rewrite}. Si está vacío, ponlo manualmente.
Paso 3: Comprobar el servidor web (Apache/Nginx)
Si el problema no se soluciona, es posible que el servidor no esté interpretando el .htaccess. En Apache, asegúrate de que el módulo mod_rewrite esté activo. Si usas Nginx, necesitas configurar las reglas de reescritura manualmente.
[WARNING] Si tu servidor usa Nginx, el
.htaccessno sirve. Debes pedir a tu hosting que añada las reglas de reescritura de PrestaShop en la configuración de Nginx. En Syspanel, puedes hacerlo desde la sección "Web" > "Configuración avanzada" > "Nginx".
Solución a problemas de conexión base de datos PrestaShop
Este error suele aparecer como: "Cannot connect to the database" o "Error de conexión a la base de datos". Es crítico porque sin base de datos, la tienda no funciona.
Paso 1: Verificar los datos de conexión
Los datos de conexión están en el archivo app/config/parameters.php. Ábrelo y comprueba que los siguientes valores sean correctos:
database_host: Normalmentelocalhosto la IP del servidor de BD.database_name: El nombre exacto de tu base de datos.database_user: El usuario de la BD.database_password: La contraseña del usuario.
Si has cambiado la contraseña de la BD recientemente, actualízala aquí.
Paso 2: Comprobar que el servidor de BD esté funcionando
A veces el servicio MySQL/MariaDB se detiene. Puedes reiniciarlo desde tu panel de control.
- En Syspanel: Ve a Servicios > MySQL y haz clic en Reiniciar.
- Por SSH: Ejecuta
sudo systemctl restart mysqlosudo service mysql restart.
Paso 3: Probar la conexión manualmente
Para asegurarte de que los datos son correctos, prueba a conectarte desde phpMyAdmin.
- Accede a phpMyAdmin (desde Syspanel, en la sección "Bases de datos").
- Introduce el usuario y contraseña que tienes en
parameters.php. - Si no puedes acceder, los datos son incorrectos. Si sí puedes, el problema está en PrestaShop, no en la BD.
Paso 4: Reparar tablas corruptas
Si la conexión funciona pero la tienda da errores, las tablas pueden estar corruptas. En phpMyAdmin, selecciona todas las tablas de tu base de datos y elige la opción Reparar tabla en el menú desplegable.
[TIP] Siempre haz una copia de seguridad de la base de datos antes de hacer cambios. En Syspanel, puedes hacerlo desde la sección "Bases de datos" > "Exportar".
FAQ: Preguntas frecuentes sobre errores PrestaShop
P: ¿Por qué veo un error 500 después de instalar un módulo?
R: El módulo puede ser incompatible con tu versión de PrestaShop o PHP. Desactívalo desde la base de datos (tabla ps_module, columna active = 0) y contacta al desarrollador.
P: El error 404 solo aparece en la página de inicio, ¿qué hago?
R: Regenera el .htaccess desde el Back Office. Si no funciona, verifica que el archivo index.php exista en la raíz.
P: Cambié la contraseña de la BD y ahora la tienda no carga.
R: Actualiza la contraseña en app/config/parameters.php. Si no recuerdas la nueva, restablece la anterior desde phpMyAdmin o Syspanel.
P: El error dice "Too many connections", ¿qué significa?
R: Tu base de datos tiene muchas conexiones simultáneas. Puedes aumentar el límite en el archivo my.cnf (parámetro max_connections) o contactar a tu hosting.
P: ¿Cómo accedo a Syspanel para gestionar mi servidor?
R: Syspanel es el panel de control de tu hosting. Accede a través de https://tu-dominio:2106 con tus credenciales de administrador.
Consejos finales para ser un buen SysAdmin de PrestaShop
- Mantén todo actualizado: PrestaShop, los módulos, el tema y el PHP. Las versiones antiguas son la principal causa de errores.
- Haz copias de seguridad semanales: De los archivos y la base de datos. Así, si algo falla, puedes restaurar en minutos.
- Usa un entorno de pruebas: Antes de instalar un módulo o actualizar, prueba en un subdominio o copia local.
- Monitorea los logs: Los logs del servidor (en
/var/log/) y los de PrestaShop (en la carpetavar/logs/) te darán pistas sobre errores recurrentes.
Recuerda: los errores PrestaShop como el 500, 404 o los de conexión base de datos PrestaShop tienen solución. Sigue estos pasos con calma y, si te atascas, no dudes en pedir ayuda a tu proveedor de hosting o a un desarrollador. ¡Tu tienda volverá a funcionar en poco tiempo!
