PrestaShop 9 wymaga PHP 8.1 lub nowszego i jest oparty na Symfony 6. To skok technologiczny, który sprawia, że nie ma możliwości bezpośredniego przejścia z wersji 1.7 — konieczne jest etapowe przejście przez gałąź 8.x. Ten przewodnik opisuje cały proces krok po kroku.
Oficjalna ścieżka migracji
Moduł autoupgrade (ps_autoupgrade) obsługuje migrację wyłącznie między sąsiednimi gałęziami. Każdy etap wykonujesz osobno — tego samym modułem.
Wymagania PHP na każdym etapie
| Wersja PrestaShop | Obsługiwane PHP | Zalecane PHP |
|---|---|---|
| 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 |
Zmiana PHP na 8.1+ jest twardym wymogiem PS 9 — nie da się tego pominąć.
Proces migracji — krok po kroku
Pełna kopia zapasowa
Wykonaj pełny backup bazy danych (mysqldump lub phpMyAdmin) i plików sklepu, w szczególności /img, /upload, /modules, /themes i /app/config/parameters.php. Przechowuj kopię poza serwerem sklepu. Bez sprawdzonej kopii nie zaczynaj.
Środowisko testowe (staging)
Przeprowadź cały proces najpierw na kopii sklepu na osobnym serwerze staging. Pozwoli to wcześniej wykryć niekompatybilne moduły i problemy z motywem, zanim dotkniesz produkcji.
Aktualizacja do najnowszej wersji 1.7.x
Zanim przejdziesz na wersję 8, upewnij się, że sklep działa na ostatnim buildzie gałęzi 1.7 — aktualnie PrestaShop 1.7.8.11. Pobierz moduł autoupgrade z GitHub (github.com/PrestaShop/autoupgrade) i uruchom upgrade w panelu admina.
Upgrade 1.7.x → 8.0.x
W module autoupgrade wybierz kanał Major release, ustaw docelową wersję 8.0.x, kliknij „Sprawdź konfigurację", a następnie „Aktualizuj teraz". Proces zajmuje 5–15 minut. Po zakończeniu sprawdź logi i przetestuj front-end.
Upgrade 8.0.x → 8.1.x
Identyczny proces — tym razem docelowa wersja 8.1.x. Przed tym krokiem warto już zaktualizować PHP do 8.1 lub 8.2, bo PS 8.1 działa z nim najlepiej.
Zmiana PHP na 8.1+
PS 9 bezwzględnie wymaga PHP 8.1+. Na VPS zmień wersję w konfiguracji Nginx/Apache, np.: fastcgi_pass unix:/run/php/php8.2-fpm.sock;, i przeładuj FPM: systemctl restart php8.2-fpm. Na hostingu współdzielonym — panel sterowania (cPanel, Plesk, DirectAdmin).
Finalny upgrade 8.1.x → 9.x
Po przełączeniu na PHP 8.1+ wybierz w autoupgrade docelową wersję 9.x (aktualnie 9.1.x) i uruchom upgrade. To najdłuższy krok — PS 9 wprowadza zmiany w strukturze katalogów i schemacie bazy.
Co zmienia się po przejściu na PrestaShop 9?
| Obszar | PS 1.7 | PS 9 |
|---|---|---|
| Framework | Symfony 4 | Symfony 6 |
| PHP | 7.1 – 7.4 | 8.1 – 8.3 (wymagane) |
| Motyw | Classic | Classic + Hummingbird |
| API | Brak REST | Nowe REST API (OAuth 2.0) |
| Legacy code | Obecny | Usunięty |
Sprawdzenie kompatybilności modułów i motywu
Najczęstsze problemy po migracji
- Biała strona lub błąd 500 — najczęściej niekompatybilny moduł lub stary cache; wyczyść:
php bin/console cache:clear --env=prod - Brakujące obrazki produktów — sprawdź uprawnienia katalogu
/img - Błędy w panelu admina — przejrzyj logi w
/var/log/prestashop/ - Niedziałające płatności — moduły płatności wymagają indywidualnej aktualizacji; skontaktuj się z dostawcą
Podsumowanie
Migracja z PrestaShop 1.7 do 9 jest możliwa i daje dostęp do nowoczesnego stosu technologicznego (PHP 8.3, Symfony 6). Klucz do sukcesu to kolejne małe kroki (1.7 → 8.0 → 8.1 → 9.x), wykonane na środowisku staging, z pełną kopią zapasową.