Solución de errores comunes en PrestaShop al actualizar
¿Tu tienda PrestaShop se ha quedado congelada en medio de una actualización? ¿Ves una pantalla en blanco o errores raros justo después de hacer clic en "actualizar"? No te preocupes, es más común de lo que crees. Actualizar PrestaShop es fundamental para tener un sitio seguro, rápido y compatible con los últimos módulos, pero a veces el proceso se complica. En esta guía extensa, te voy a explicar paso a paso cómo solucionar los errores más frecuentes en la actualización de PrestaShop, con un lenguaje sencillo y trucos prácticos.
Si estás aquí es porque probablemente te has encontrado con algún problema al actualizar PrestaShop errores. Vamos a desglosar cada situación, desde la temida pantalla blanca hasta los conflictos con módulos, y te daré las herramientas para solucionar problemas PrestaShop sin perder los nervios (ni los datos).
¿Por qué ocurren errores al actualizar PrestaShop?
Antes de lanzarnos a las soluciones, es importante entender por qué se producen estos fallos. PrestaShop es un sistema complejo que combina archivos PHP, una base de datos MySQL y una estructura de temas y módulos. Al actualizar, estás cambiando el núcleo del sistema, y cualquier pequeña incompatibilidad puede hacer que todo se rompa.
Las causas más comunes son:
- PHP desactualizado o incompatible: PrestaShop 1.7, por ejemplo, necesita PHP 7.1 como mínimo, y la versión 8.0 es recomendable.
- Módulos o temas no compatibles: Un módulo antiguo puede generar conflictos fatales.
- Límites de memoria insuficientes: Si tu servidor no tiene suficiente memoria PHP, la actualización se corta a medio camino.
- Base de datos corrupta o con tablas bloqueadas: Durante la actualización se modifican muchas tablas, y si una está dañada, todo se detiene.
- Permisos de archivos incorrectos: PrestaShop necesita escribir en ciertos directorios (como /cache, /config, /override) y si no tiene permisos, falla.
- Conexión interrumpida: Si tu internet se corta o el tiempo de ejecución del servidor es demasiado bajo, la actualización se queda a medias.
Ahora que sabemos qué buscar, vamos a ver cómo solucionar cada error concreto.
Error 1: Pantalla blanca después de la actualización (White Screen of Death)
Este es el error más temido. Abres tu tienda y solo ves una página en blanco. No hay mensajes, no hay nada. Esto suele deberse a un error PHP que está oculto (display_errors desactivado).
Solución paso a paso
- Activar la visualización de errores PHP: Accede a tu servidor por FTP o cPanel y localiza el archivo
/config/defines.inc.php. Busca la líneadefine('_PS_MODE_DEV_', false);y cámbiala atrue. Guarda el archivo. Ahora, al recargar la tienda, verás un mensaje de error concreto (por ejemplo, "Class not found" o "Fatal error: Allowed memory size exhausted"). - Identificar el error: Anota el mensaje exacto. Si dice "Allowed memory size exhausted", ve al paso 3. Si dice "Class not found", es probable que sea un módulo o tema incompatible.
- Aumentar la memoria PHP: Si el error es de memoria, edita el archivo
/config/settings.inc.php(en PrestaShop 1.6) o crea un archivophp.inien la raíz con el siguiente contenido:
También puedes hacerlo desde Syspanel (accede por puerto 2106, en la sección de ajustes de PHP).memory_limit = 256M max_execution_time = 300 - Desactivar módulos problemáticos: Si el error menciona un módulo concreto, renombra la carpeta de ese módulo en
/modules/nombremoduloa/modules/nombremodulo_oldpara desactivarlo manualmente. Luego recarga. - Forzar la regeneración de caché: Elimina la carpeta
/var/cache(en PrestaShop 1.7) o/cache(en versiones anteriores) y vuelve a crearla vacía. Esto obliga a PrestaShop a regenerar los archivos de caché.
[WARNING] No subas archivos PHP con errores de sintaxis. Si modificas defines.inc.php, asegúrate de no dejar espacios en blanco al final del archivo, o la tienda se romperá aún más.
Error 2: "El proceso de actualización se ha detenido" o "Timeout"
Si la actualización se queda colgada a mitad del proceso (por ejemplo, en el paso 3 o 4), es casi siempre por un límite de tiempo de ejecución demasiado bajo.
Solución
- Aumentar el tiempo máximo de ejecución: En el archivo
php.ini(o desde Syspanel, puerto 2106) cambiamax_execution_timea 600 (10 minutos). También puedes añadir esta línea al inicio del archivo/admin/autoupgrade/cli-upgrade.php(si estás usando el módulo de actualización):set_time_limit(0); - Ejecutar la actualización desde la línea de comandos: Si tienes acceso SSH, esta es la opción más fiable. Conéctate a tu servidor y navega hasta la carpeta
/admin/autoupgrade/. Luego ejecuta:
(Cambia las versiones por las tuyas). Esto evita los límites de tiempo del navegador.php cli-upgrade.php --from=1.7.8.0 --to=8.0.0 - Dividir la actualización en partes: Algunos módulos de actualización permiten pausar y reanudar. Si no, puedes intentar subir manualmente los archivos de la nueva versión (excepto /config, /img y /themes) y luego ejecutar el script de actualización de base de datos por separado.
[TIP] Si tu hosting tiene un panel como Syspanel, revisa la sección de "PHP Settings" y asegúrate de que el límite de memoria esté al menos en 256M y el tiempo de ejecución en 300 segundos. El acceso es por el puerto 2106.
Error 3: "Error de base de datos: Tabla no existe" o "Columna duplicada"
Estos errores aparecen cuando la actualización intenta modificar la estructura de la base de datos pero encuentra inconsistencias.
Solución
- Hacer una copia de seguridad de la base de datos: Antes de hacer nada, exporta tu base de datos desde phpMyAdmin o Syspanel (puerto 2106, sección de bases de datos).
- Reparar tablas: En phpMyAdmin, selecciona todas las tablas de PrestaShop y en el menú desplegable elige "Reparar tabla". Esto corrige tablas corruptas.
- Ejecutar manualmente las consultas SQL faltantes: Si el error dice "Tabla 'ps_xxxx' no existe", busca en la documentación de la versión a la que estás actualizando la consulta CREATE TABLE correspondiente. Por ejemplo, si falta la tabla
ps_product_shop, ejecuta:CREATE TABLE IF NOT EXISTS `ps_product_shop` LIKE `ps_product`; - Usar el módulo de actualización con modo "regenerar base de datos": Algunas herramientas como el módulo "1-Click Upgrade" tienen una opción para regenerar las tablas. Actívala en los ajustes avanzados.
- Restaurar la base de datos de seguridad: Si todo falla, restaura la copia de seguridad y vuelve a intentar la actualización desde cero, asegurándote de que el servidor cumple los requisitos.
[INFO] Los nombres de las tablas pueden variar según el prefijo que uses (por defecto es
ps_). Si personalizaste el prefijo, ajústalo en las consultas.
Error 4: "Error de permisos de archivos" o "No se puede escribir en /cache"
PrestaShop necesita permisos de escritura en varias carpetas. Si el servidor no los tiene, la actualización falla.
Solución
- Verificar permisos actuales: Conéctate por FTP y revisa los permisos de las carpetas
/cache,/config,/override,/img,/modules,/themesy/upload. Deben ser 755 para carpetas y 644 para archivos. - Cambiar permisos desde FTP: Selecciona todas las carpetas mencionadas y asígnales 755. Si tu cliente FTP lo permite, activa "Recursivo" para que se aplique a todas las subcarpetas.
- Usar Syspanel para cambiar permisos: En Syspanel (puerto 2106), ve a la sección de "File Manager", selecciona las carpetas y usa la opción "Change Permissions". Pon 755 en "Directories" y 644 en "Files".
- Propietario de archivos: Asegúrate de que el usuario del servidor web (normalmente
www-dataonobody) sea el propietario de los archivos. En Syspanel puedes cambiar el propietario desde "File Manager" > "Properties".
[WARNING] No pongas permisos 777 en ninguna carpeta. Es un riesgo de seguridad grave. 755 es suficiente para escritura.
Error 5: "Módulo incompatible" o "Error al cargar el módulo"
Después de la actualización, algunos módulos dejan de funcionar o muestran errores.
Solución
- Identificar el módulo problemático: Ve a tu panel de administración (si puedes acceder) y revisa la sección de Módulos. Los que tengan un icono de advertencia o error son los culpables.
- Desactivar el módulo manualmente: Si no puedes acceder al panel, renombra la carpeta del módulo en
/modules/nombredelmóduloa/modules/nombredelmódulo_desactivado. Esto lo desactiva sin eliminarlo. - Buscar actualizaciones del módulo: Visita la web del desarrollador y descarga la versión compatible con tu nueva versión de PrestaShop. Luego sube la carpeta reemplazando la antigua.
- Forzar la regeneración de la lista de módulos: Elimina el archivo
/config/xml/modules_list.xmly la carpeta/cache/modules. Luego recarga el panel de administración. - Sustituir por alternativas: Si el módulo no tiene versión actualizada, busca un módulo similar en el marketplace de PrestaShop.
[TIP] Antes de actualizar, siempre revisa la compatibilidad de tus módulos críticos (pago, envío, SEO) con la nueva versión. Muchos desarrolladores publican listas de compatibilidad.
Error 6: "Error 500 Internal Server Error" después de la actualización
Este error genérico puede deberse a muchas causas, pero las más comunes son un archivo .htaccess corrupto o un tema incompatible.
Solución
- Regenerar el archivo .htaccess: Conéctate por FTP y elimina el archivo
.htaccessde la raíz de tu tienda. Luego, desde el panel de administración (si puedes acceder), ve a "Parámetros de la tienda" > "Tráfico y SEO" y haz clic en "Guardar" sin cambiar nada. Esto regenera el archivo. - Cambiar al tema predeterminado: Si el error persiste, renombra la carpeta de tu tema activo en
/themes/tutemaa/themes/tutema_old. PrestaShop usará entonces el tema "classic" (o "default" en versiones antiguas). Si la tienda carga, el problema es tu tema. - Aumentar el log de errores: Activa el modo debug (como en el Error 1) para obtener más detalles. Busca en el archivo
/var/logs/(en PrestaShop 1.7) o/log/(en 1.6) el archivofatal.logoerror.log. - Verificar la versión de PHP: Desde Syspanel (puerto 2106), en la sección de "PHP Settings", asegúrate de que la versión de PHP sea compatible con tu PrestaShop. Por ejemplo, PrestaShop 8.0 requiere PHP 7.3 o superior.
Error 7: "La actualización se completó, pero la tienda no funciona correctamente"
A veces el proceso termina sin errores, pero la tienda se ve rara, los enlaces no funcionan o los productos no se muestran.
Solución
- Regenerar el índice de productos: Ve a "Parámetros avanzados" > "Rendimiento" y haz clic en "Regenerar el índice de productos".
- Regenerar los enlaces amigables: En "Parámetros de la tienda" > "Tráfico y SEO", desactiva y vuelve a activar los enlaces amigables. Luego guarda.
- Limpiar la caché del navegador y del servidor: Elimina la carpeta
/var/cache(o/cache) y también la caché de tu navegador. - Verificar la configuración de la tienda: A veces la actualización cambia valores por defecto. Revisa "Parámetros de la tienda" > "Configuración general" y asegúrate de que todo esté como antes (moneda, país, idioma).
- Reinstalar módulos nativos: Algunos módulos de PrestaShop (como "PS Main Menu" o "PS Search Bar") pueden haberse desactivado. Actívalos manualmente desde el panel.
Preguntas frecuentes (FAQ) sobre actualización de PrestaShop
¿Debo actualizar PrestaShop a la última versión siempre?
Sí, por seguridad y rendimiento. Pero espera al menos 2 semanas después del lanzamiento para que se corrijan errores iniciales. Siempre prueba en un entorno de desarrollo antes.
¿Puedo saltarme varias versiones a la vez?
No es recomendable. Lo mejor es actualizar paso a paso (ej: de 1.7.6 a 1.7.7, luego a 1.7.8, etc.). Si intentas saltar de 1.6 a 8.0, tendrás muchos errores de base de datos.
¿Qué hago si no tengo acceso al panel de administración después de la actualización?
Puedes usar el modo "mantenimiento" manual. Crea un archivo llamado maintenance.php en la raíz de tu tienda con el siguiente contenido:
<?php
header('HTTP/1.1 503 Service Unavailable');
header('Retry-After: 3600');
echo 'Tienda en mantenimiento. Vuelve más tarde.';
?>
Luego, desde FTP, desactiva módulos problemáticos como se explicó antes.
¿Cómo puedo evitar estos errores en el futuro?
- Haz siempre una copia de seguridad completa (archivos y base de datos) antes de actualizar.
- Usa un módulo de actualización fiable como "1-Click Upgrade" de PrestaShop.
- Mantén tu PHP actualizado (la versión recomendada por PrestaShop).
- Prueba en un subdominio o entorno de staging antes de tocar la tienda real.
- Revisa los logs del servidor después de cada actualización.
[INFO] Si tu hosting usa Syspanel, puedes crear un entorno de pruebas fácilmente desde la sección "Staging" (puerto 2106). Allí clonas tu tienda y pruebas la actualización sin riesgos.
Conclusión: No temas a la actualización
Actualizar PrestaShop puede parecer un riesgo, pero con las herramientas y pasos adecuados, la mayoría de los errores tienen solución. Recuerda que la clave está en la preparación: copia de seguridad, compatibilidad de módulos y un servidor bien configurado. Si te encuentras con un error concreto, vuelve a esta guía y busca el síntoma. Y si todo falla, siempre puedes restaurar tu copia de seguridad y pedir ayuda en los foros de PrestaShop o a tu hosting.
Ahora ya sabes cómo solucionar problemas PrestaShop como un profesional. ¡Manos a la obra y buena suerte con tu actualización!
