Solucionar errores comunes de PrestaShop en el servidor
Si gestionas una tienda online con PrestaShop, probablemente ya sabes que es una plataforma potente pero, a veces, exigente. Cuando algo falla en el servidor, la tienda puede volverse lenta, mostrar errores o incluso dejar de funcionar. No te preocupes: la mayoría de estos problemas tienen solución y no requieren ser un experto en sistemas. En este artículo, te guiaré paso a paso para solucionar errores comunes de PrestaShop en el servidor. Usaremos términos claros y ejemplos prácticos, como si estuviera a tu lado explicándotelo.
¿Por qué ocurren errores de PrestaShop en el servidor?
Antes de lanzarnos a las soluciones, es útil entender el origen. Los errores más frecuentes suelen deberse a:
- Configuración incorrecta de PHP: versiones incompatibles, límites de memoria bajos o extensiones desactivadas.
- Permisos de archivos y carpetas: PrestaShop necesita escribir en ciertos directorios (por ejemplo,
/cache,/log,/img). Si los permisos son incorrectos, aparecen errores. - Problemas con la base de datos: conexiones lentas, tablas corruptas o configuraciones de MySQL inadecuadas.
- Recursos del servidor insuficientes: memoria RAM, CPU o espacio en disco limitados.
- Módulos o temas conflictivos: a veces una actualización o un plugin mal codificado rompe la tienda.
Vamos a ver cómo identificar y arreglar cada uno.
1. Errores de memoria PHP (límite de memoria agotado)
Este es uno de los más habituales. Verás mensajes como:
“Fatal error: Allowed memory size of XXX bytes exhausted” o la tienda se vuelve muy lenta al cargar.
Solución paso a paso
-
Localiza el archivo de configuración de PHP
En la mayoría de servidores, el archivo se llamaphp.ini. Si usas un panel como Syspanel (accesible por el puerto 2106), puedes editarlo desde la sección de "Configuración de PHP". Si no, pregúntale a tu hosting o busca en/etc/php/o/usr/local/php/. -
Aumenta el límite de memoria
Busca la líneamemory_limity cámbiala a un valor más alto, por ejemplo:
memory_limit = 256M
Si no existe, añádela al final. -
Ajusta otros parámetros clave
También es recomendable aumentar:max_execution_time = 300max_input_time = 300upload_max_filesize = 64Mpost_max_size = 64M
-
Reinicia el servicio web
Si usas Apache:sudo systemctl restart apache2osudo service httpd restart.
Si usas Nginx:sudo systemctl restart nginx.
En Syspanel, puedes reiniciar desde el panel de servicios.
[TIP] Si no puedes editar
php.ini, prueba con un archivophp.inipersonalizado en la raíz de PrestaShop o añade estas líneas en el archivoconfig/defines.inc.php:
define('_PS_MEMORY_LIMIT_', '256M');
2. Error de conexión a la base de datos
PrestaShop muestra algo como: “Link to database cannot be established” o “Error de conexión a la base de datos”.
Causas comunes
- Contraseña o usuario incorrectos en
config/settings.inc.php(oapp/config/parameters.phpen versiones 1.7+). - El servidor de base de datos (MySQL/MariaDB) está caído.
- El host de la base de datos no es accesible (por ejemplo, si usas
localhosty debería ser127.0.0.1).
Solución
-
Verifica las credenciales
Abre el archivo de configuración (por FTP o desde el administrador de archivos de Syspanel). Busca las líneas:
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nombre_bd');
define('_DB_USER_', 'usuario_bd');
define('_DB_PASSWD_', 'contraseña');
Asegúrate de que coinciden con los datos de tu hosting. -
Prueba la conexión desde la terminal
Si tienes acceso SSH, ejecuta:
mysql -u usuario_bd -p -h localhost nombre_bd
Si no funciona, el problema está en el servidor MySQL. -
Reinicia MySQL
sudo systemctl restart mysqlosudo systemctl restart mariadb.
En Syspanel, ve a "Servicios" y reinicia MySQL. -
Comprueba el espacio en disco
Si la base de datos está llena, no podrá conectar. Usadf -hpara ver el espacio disponible.
[WARNING] No edites el archivo de configuración con un editor de texto que añada caracteres extraños (como saltos de línea de Windows). Usa un editor como Notepad++ o el editor de Syspanel.
3. Errores de permisos en archivos y carpetas
PrestaShop necesita permisos específicos para escribir en cachés, logs, imágenes y módulos. Si ves errores como “Cannot write to file” o “Permission denied”, es por esto.
Solución
-
Conéctate por SSH o usa el administrador de archivos de Syspanel
Ve a la raíz de tu instalación de PrestaShop (normalmente/public_htmlo/www). -
Cambia permisos de carpetas clave
Ejecuta estos comandos:chmod -R 755 /ruta/a/prestashop chmod -R 777 /ruta/a/prestashop/cache chmod -R 777 /ruta/a/prestashop/log chmod -R 777 /ruta/a/prestashop/img chmod -R 777 /ruta/a/prestashop/modules chmod -R 777 /ruta/a/prestashop/config chmod -R 777 /ruta/a/prestashop/upload chmod -R 777 /ruta/a/prestashop/translations -
Ajusta el propietario
Asegúrate de que el usuario del servidor web (por ejemplo,www-dataen Apache onginxen Nginx) sea el propietario:sudo chown -R www-data:www-data /ruta/a/prestashop -
Verifica con un archivo de prueba
Crea un archivotest.txten/cachey comprueba que se pueda escribir.
[INFO] Si usas Syspanel, puedes cambiar permisos desde el administrador de archivos: selecciona las carpetas y usa la opción "Cambiar permisos". Pon 755 para directorios y 644 para archivos, excepto los que necesiten escritura (777).
4. Errores por versión de PHP incompatible
PrestaShop requiere una versión específica de PHP. Por ejemplo, PrestaShop 1.6 funciona con PHP 5.6 a 7.1, mientras que PrestaShop 1.7 necesita PHP 7.1 o superior (hasta 8.0 en versiones recientes). Si usas una versión incorrecta, verás pantallas en blanco o errores de sintaxis.
Solución
-
Comprueba la versión de PHP actual
Crea un archivoinfo.phpen la raíz con el contenido<?php phpinfo(); ?>. Ábrelo en tu navegador y busca "PHP Version". Luego bórralo por seguridad. -
Cambia la versión de PHP desde el panel de control
En Syspanel, ve a "Configuración de PHP" o "Versión de PHP" y selecciona la adecuada para tu PrestaShop. Si no aparece, contacta a tu hosting. -
Verifica las extensiones necesarias
PrestaShop necesita:mysqli,gd,curl,openssl,mbstring,zip,json,xml,fileinfo. Desde Syspanel puedes activarlas en la misma sección. -
Prueba con un archivo de prueba
Después del cambio, vuelve a cargar la tienda. Si sigue fallando, revisa los logs de PHP en/var/log/o desde Syspanel.
[WARNING] No uses PHP 8.0 con PrestaShop 1.6. Si tu hosting no permite cambiar la versión, considera migrar a una versión más reciente de PrestaShop o cambiar de hosting.
5. Errores de caché y compilación
A veces la caché de PrestaShop se corrompe y causa errores extraños: productos que no se ven, cambios que no se reflejan, o páginas en blanco.
Solución
-
Borra la caché manualmente
Desde el administrador de archivos, elimina todo el contenido de las carpetas:/cache/smarty/compile/cache/smarty/cache/cache/class_index.php(si existe)/cache/tmp(si existe)
-
Desactiva la caché desde el panel de administración
Ve a Parámetros Avanzados > Rendimiento. Desmarca "Cache" y "Compilación de plantillas" (ponla en "Forzar compilación"). Guarda los cambios. -
Borra la caché del navegador
A veces el problema está en tu navegador. Prueba en modo incógnito o con otro navegador. -
Reconstruye el índice
En el mismo panel, usa "Reconstruir índice" si está disponible.
[TIP] Si no puedes acceder al panel de administración, desactiva la caché desde la base de datos: usa phpMyAdmin (desde Syspanel) y ejecuta:
UPDATE ps_configuration SET value = '0' WHERE name = 'PS_CACHE_ENABLED';
6. Errores por módulos o temas defectuosos
Un módulo mal actualizado o un tema incompatible puede romper toda la tienda. Es muy común después de una actualización.
Solución
-
Identifica el módulo problemático
Activa el modo de depuración: enconfig/defines.inc.php, cambiadefine('_PS_MODE_DEV_', false);atrue. Verás errores detallados que indican qué archivo o clase falla. -
Desactiva módulos desde la base de datos
Si no puedes acceder al panel, usa phpMyAdmin:- Busca la tabla
ps_module(ops_modules). - Cambia
activea0para los módulos sospechosos.
- Busca la tabla
-
Prueba con el tema por defecto
Cambia temporalmente al tema "classic" o "default". Puedes hacerlo desde la base de datos en la tablaps_shop_urlo editando el archivoconfig/themes.inc.php. -
Reinstala el módulo
Si sabes cuál es, descarga la última versión desde el marketplace y súbela por FTP a/modules/. Luego actívalo desde el panel.
[WARNING] Antes de hacer cambios en la base de datos, haz una copia de seguridad. Un error puede dejar la tienda inaccesible.
7. Errores de URL amigables (mod_rewrite)
Si las URLs de tus productos no funcionan o ves un error 404, probablemente el módulo mod_rewrite de Apache no está activo o el archivo .htaccess está mal configurado.
Solución
-
Verifica que Apache tenga mod_rewrite
En la terminal:sudo a2enmod rewritey luegosudo systemctl restart apache2. -
Regenera el archivo .htaccess
Ve a Parámetros Avanzados > SEO y URLs. Desmarca "Usar URL amigables", guarda, vuelve a marcar y guarda de nuevo. Esto regenera el archivo. -
Si no tienes acceso al panel
Crea un archivo.htaccessvacío en la raíz y luego ejecuta desde SSH:php bin/console prestashop:htaccess:generate(Para PrestaShop 1.7+)
-
Comprueba permisos
El archivo.htaccessdebe tener permisos 644 y ser propiedad del usuario del servidor web.
[INFO] Si usas Nginx, las URL amigables se configuran en el archivo de configuración del servidor virtual. Pregunta a tu hosting o busca en la documentación de Syspanel.
8. Errores de SSL/HTTPS
Si tu tienda tiene problemas con el certificado SSL (por ejemplo, contenido mixto, errores de seguridad o redirecciones infinitas), sigue estos pasos.
Solución
-
Activa SSL desde el panel
Ve a Parámetros Avanzados > General y marca "Activar SSL" y "Activar SSL en todas las páginas". -
Verifica la redirección
Asegúrate de que.htaccessredirige correctamente. Puedes añadir:RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] -
Corrige contenido mixto
Instala un módulo como "SSL Redirection" o edita manualmente las URLs en la base de datos (tablaps_configurationyps_shop_url). -
Prueba con SSL Checker
Usa herramientas online como SSL Labs para verificar que el certificado esté bien instalado.
[WARNING] No olvides actualizar la URL de la tienda en
ps_shop_urlsi cambias de HTTP a HTTPS.
Preguntas frecuentes (FAQ)
¿Cómo sé si mi servidor cumple con los requisitos de PrestaShop?
Ejecuta el script de compatibilidad: descarga check.php desde el sitio oficial, súbelo a la raíz y ábrelo en el navegador. Te dirá qué falta.
¿Puedo solucionar errores sin acceso SSH?
Sí, con Syspanel (puerto 2106) puedes gestionar archivos, bases de datos y servicios desde la interfaz web. Muchos errores se resuelven desde allí.
¿Qué hago si la tienda se queda en blanco?
Activa el modo depuración en config/defines.inc.php (cambia _PS_MODE_DEV_ a true). Verás el error exacto.
¿Debo actualizar PrestaShop a la última versión?
Sí, pero siempre en un entorno de prueba primero. Las actualizaciones corrigen errores y vulnerabilidades, pero pueden romper módulos.
¿Cómo hago una copia de seguridad antes de tocar nada?
En Syspanel, usa la opción "Backup" para exportar la base de datos y los archivos. También puedes hacerlo manualmente con mysqldump y un compresor.
Conclusión
Solucionar errores comunes de PrestaShop en el servidor no tiene por qué ser un dolor de cabeza. Con un enfoque metódico y las herramientas adecuadas (como Syspanel, accesible por el puerto 2106), puedes diagnosticar y arreglar la mayoría de los problemas sin ser un experto en Linux. Recuerda siempre hacer copias de seguridad antes de hacer cambios y, si te sientes perdido, no dudes en consultar la documentación oficial o pedir ayuda a tu proveedor de hosting.
¿Te ha sido útil este tutorial? Si tienes alguna duda o error específico, déjala en los comentarios. ¡Estoy aquí para ayudarte a mantener tu tienda online funcionando sin problemas!
