PrestaShop 9 requiere PHP 8.1 o superior y está construido sobre Symfony 6. Esto hace imposible una actualización directa desde la versión 1.7 — es necesario pasar por la rama 8.x. Esta guía describe todo el proceso paso a paso.
Ruta de migración oficial
El módulo autoupgrade (ps_autoupgrade) solo admite migraciones entre ramas principales adyacentes. Cada etapa se realiza por separado con el mismo módulo.
Requisitos de PHP en cada etapa
| Versión PrestaShop | PHP soportado | PHP recomendado |
|---|---|---|
| 1.7.8.x | PHP 7.1 – 7.4 (+ 8.0) | PHP 7.4 |
| 8.0.x | PHP 7.2.5 – 8.1 | PHP 8.0 |
| 8.1.x | PHP 7.2.5 – 8.2 | PHP 8.1 / 8.2 |
| 9.0 / 9.1 | PHP 8.1 – 8.3 | PHP 8.2 / 8.3 |
Proceso de migración — paso a paso
Copia de seguridad completa
Realice un backup completo de la base de datos y los archivos (/img, /upload, /modules, /themes, /app/config/parameters.php). Guárdelo fuera del servidor.
Entorno de staging
Ejecute todo el proceso primero en una copia de la tienda en staging antes de intervenir en producción.
Actualizar a la última versión 1.7.x
Asegúrese de que la tienda ejecuta PrestaShop 1.7.8.11. Instale el módulo autoupgrade desde GitHub (github.com/PrestaShop/autoupgrade).
Upgrade 1.7.x → 8.0.x
En autoupgrade, canal Major release, versión destino 8.0.x, verifique la configuración y ejecute la actualización (5–15 minutos).
Upgrade 8.0.x → 8.1.x
Mismo proceso, versión destino 8.1.x. Actualice PHP a 8.1 o 8.2 antes de este paso.
Cambio a PHP 8.1+
Actualice la configuración de Nginx/Apache: fastcgi_pass unix:/run/php/php8.2-fpm.sock; y recargue FPM: systemctl restart php8.2-fpm.
Upgrade final 8.1.x → 9.x
Tras el cambio a PHP 8.1+, seleccione 9.x en autoupgrade y lance la actualización final.
Qué cambia con PrestaShop 9
| Área | PS 1.7 | PS 9 |
|---|---|---|
| Framework | Symfony 4 | Symfony 6 |
| PHP | 7.1 – 7.4 | 8.1 – 8.3 (obligatorio) |
| Tema por defecto | Classic | Classic + Hummingbird |
| API | Sin REST | Nueva API REST (OAuth 2.0) |
| Código legacy | Presente | Eliminado |
Problemas más comunes tras la migración
- Pantalla blanca o error 500 — módulo incompatible o caché obsoleta:
php bin/console cache:clear --env=prod - Imágenes de productos faltantes — verifique los permisos de
/img - Pagos no funcionales — contacte a su proveedor de pagos para la actualización
Conclusión
La migración de PrestaShop 1.7 a 9 es posible y da acceso a un stack moderno (PHP 8.3, Symfony 6). La clave: seguir los pasos sucesivos (1.7 → 8.0 → 8.1 → 9.x) en staging, con una copia de seguridad completa.