PrestaShop 9 richiede PHP 8.1 o superiore ed è costruito su Symfony 6. Questo rende impossibile un aggiornamento diretto dalla versione 1.7 — è necessario passare attraverso il ramo 8.x. Questa guida descrive l'intero processo passo dopo passo.
Percorso di migrazione ufficiale
Il modulo autoupgrade (ps_autoupgrade) supporta solo le migrazioni tra rami principali adiacenti. Ogni fase viene eseguita separatamente con lo stesso modulo.
Requisiti PHP in ogni fase
| Versione PrestaShop | PHP supportato | PHP consigliato |
|---|---|---|
| 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 |
Processo di migrazione — passo dopo passo
Backup completo
Esegui un backup completo del database e dei file (/img, /upload, /modules, /themes, /app/config/parameters.php). Conservalo fuori dal server.
Ambiente di staging
Esegui l'intero processo su una copia del negozio in staging prima di intervenire sulla produzione.
Aggiornamento all'ultima versione 1.7.x
Assicurati che il negozio giri su PrestaShop 1.7.8.11. Installa il modulo autoupgrade da GitHub (github.com/PrestaShop/autoupgrade).
Upgrade 1.7.x → 8.0.x
In autoupgrade, canale Major release, versione target 8.0.x, verifica la configurazione e avvia l'aggiornamento (5–15 minuti).
Upgrade 8.0.x → 8.1.x
Stesso processo, versione target 8.1.x. Aggiorna PHP a 8.1 o 8.2 prima di questo passaggio.
Passaggio a PHP 8.1+
Aggiorna la config Nginx/Apache: fastcgi_pass unix:/run/php/php8.2-fpm.sock; e ricarica FPM: systemctl restart php8.2-fpm.
Upgrade finale 8.1.x → 9.x
Dopo il passaggio a PHP 8.1+, seleziona 9.x in autoupgrade e avvia l'aggiornamento finale.
Cosa cambia con PrestaShop 9
| Area | PS 1.7 | PS 9 |
|---|---|---|
| Framework | Symfony 4 | Symfony 6 |
| PHP | 7.1 – 7.4 | 8.1 – 8.3 (obbligatorio) |
| Tema predefinito | Classic | Classic + Hummingbird |
| API | Nessuna REST | Nuova API REST (OAuth 2.0) |
| Codice legacy | Presente | Rimosso |
Problemi più comuni dopo la migrazione
- Schermata bianca o errore 500 — modulo incompatibile o cache obsoleta:
php bin/console cache:clear --env=prod - Immagini prodotto mancanti — controlla i permessi della directory
/img - Pagamenti non funzionanti — contatta il tuo fornitore di pagamento per l'aggiornamento
Conclusione
La migrazione da PrestaShop 1.7 a 9 è realizzabile e dà accesso a uno stack moderno (PHP 8.3, Symfony 6). La chiave: seguire i passi successivi (1.7 → 8.0 → 8.1 → 9.x) in staging, con un backup completo disponibile.