Zmiana wersji PHP bez ryzyka: WordPress/PrestaShop

Zmiana wersji PHP WordPress PrestaShop to temat, który wielu właścicielom stron i sklepów internetowych spędza sen z powiek. Z jednej strony kusi lepszą wydajnością, bezpieczeństwem i wsparciem nowych funkcji. Z drugiej – straszy możliwymi błędami, konfliktami wtyczek lub modułów i przestojem serwisu. Dobra wiadomość? Można to zrobić bezpiecznie, przewidywalnie i bez wielkich nerwów. Poniżej znajdziesz praktyczny, ludzki przewodnik, który prowadzi za rękę przez cały proces: od audytu, przez testy na środowisku staging, po płynne przełączenie produkcji i monitoring po zmianie.

Dlaczego w ogóle aktualizować PHP?

Nowsza wersja PHP to realny zysk: wydajność, bezpieczeństwo, zgodność i dłuższe wsparcie.

Aktualizacja PHP to nie tylko „techniczna fanaberia”. Najważniejsze korzyści:

– Szybkość: PHP 8.x działa zauważalnie szybciej niż 7.x, a to oznacza krótsze czasy ładowania i lepsze wyniki Core Web Vitals.

– Bezpieczeństwo: starsze gałęzie PHP przestają otrzymywać łatki. To ryzyko, którego lepiej unikać.

– Zgodność: nowe biblioteki, motywy i moduły coraz częściej wymagają PHP 8.1/8.2.

– Koszty: stabilniejszy i wydajniejszy stack to mniej incydentów i mniejsze koszty utrzymania.

Jeśli Twoja strona lub sklep „ciągnie się” na PHP 7.3/7.4, to aktualizacja może być jednym z najmniej inwazyjnych i najtańszych skoków wydajności.

Minimalne wymagania i rekomendacje dla WordPress i PrestaShop

Najpierw sprawdź, czy Twój CMS i dodatki „lubią się” z docelową wersją PHP.

– WordPress:
– W praktyce współczesne wersje WordPressa dobrze działają na PHP 8.0–8.3.
– Rekomendacja: co najmniej PHP 8.1, a optymalnie 8.2/8.3 (jeśli wtyczki i motyw są zgodne).
– Upewnij się, że motyw (szczególnie customowy) i kluczowe wtyczki są aktualne i wspierają PHP 8.x.

– PrestaShop:
– PrestaShop 1.7.8 zwykle bezpieczniej działa na PHP 7.4 lub 8.0 (8.1 bywa problematyczne z częścią modułów).
– PrestaShop 8.x jest projektowany pod PHP 8.1 oraz 8.2 – to obecnie najbezpieczniejszy kierunek dla nowych wdrożeń.
– Zwróć szczególną uwagę na moduły komercyjne z ionCube – ich kompatybilność z PHP 8.x może zależeć od wersji loadera i samego modułu.

Wniosek: zanim wybierzesz wersję PHP, dopasuj ją do używanej wersji CMS i dodatków. Zmiana z 7.4 prosto na 8.2 bez sprawdzenia zgodności bywa przepisem na kłopoty.

Zmiana wersji PHP WordPress PrestaShop — plan krok po kroku

Pewny proces = mniejsze ryzyko. Idziemy metodycznie, bez skoków na głęboką wodę.

1) Sporządź inwentaryzację
– Zanotuj wersję WordPress/PrestaShop, listę wtyczek/modułów wraz z wersjami, motyw, wersję PHP i rozszerzenia (mbstring, intl, gd/imagick, zip, curl, mysqli, openssl, xml, dom).
– Dla PrestaShop: sprawdź wymagania modułów kluczowych dla sprzedaży (płatności, dostawy, integracje ERP).

2) Wybierz docelową wersję PHP
– WordPress: celuj w PHP 8.1/8.2.
– PrestaShop: 1.7.8 -> 7.4/8.0; PrestaShop 8.x -> 8.1/8.2.
– Priorytetem jest zgodność modułów i motywów.

3) Zrób pełną kopię zapasową
– Pliki + baza danych + eksport konfiguracji hostingu (reguły crona, .user.ini, php.ini per user, vhost).
– Przechowuj backup offsite. Sprawdź możliwość szybkiego przywrócenia.

4) Przygotuj środowisko staging
– Najlepiej subdomena (staging.domena.pl) lub środowisko tymczasowe w panelu hostingu.
– Sklonuj produkcję 1:1, wyłącz indeksację w wyszukiwarkach.
– Skonfiguruj osobne logi błędów (error_log), aby łatwiej je analizować.

5) Zaktualizuj CMS i dodatki na stagingu
– WordPress: najpierw rdzeń, potem wtyczki i motyw (child theme zachowaj).
– PrestaShop: zaktualizuj rdzeń w obrębie wspieranej gałęzi lub do 8.x, jeśli planujesz PHP 8.1/8.2. Zrób to na stagingu, nie na produkcji.

6) Przełącz PHP na stagingu i włącz potrzebne rozszerzenia
– Upewnij się, że działają: mysqli, curl, gd lub imagick, json, mbstring, zip, intl (dla PrestaShop), dom, fileinfo.
– Skonfiguruj podstawowe limity: memory_limit (min. 256M dla prostych stron, 512M–768M dla PrestaShop), max_execution_time (120–300 s), upload_max_filesize/post_max_size (np. 64M+).

7) Testy funkcjonalne
– WordPress: logowanie do wp-admin, edycja wpisu, wysyłka formularza, media upload, cron (np. publikacja zaplanowana), kluczowe wtyczki (SEO, cache, sklepy WooCommerce jeśli występują).
– PrestaShop: cały koszyk (dodanie, rabaty, checkout), płatności w trybie sandbox, e-maile, panel zamówień, generowanie faktur, import/eksport, integracje (kurierzy, hurtownie).
– Sprawdź konsolę przeglądarki (błędy JS) i logi serwera/PHP.

8) Naprawy i optymalizacje
– Błędy „undefined function” często oznaczają brak rozszerzenia (np. mbstring, intl).
– Deprecated notices w PHP 8.1/8.2: zwykle informacyjne, ale warto je przejrzeć i zgłosić autorom wtyczek/modułów; niektóre mogą wpływać na stabilność.
– W razie problemów wyłącz/ zastąp niekompatybilną wtyczkę/moduł, poszukaj aktualizacji lub alternatywy.

9) Plan przełączenia produkcji
– Okno serwisowe przy niskim ruchu.
– Tryb konserwacji na czas przełączenia (zwłaszcza w PrestaShop).
– Świeży backup tuż przed zmianą.
– Plan awaryjny: szybki powrót do poprzedniej wersji PHP.

10) Przełączenie i monitoring
– Przełącz produkcję, wyczyść cache (WP: cache wtyczki + OPcache; PS: cache Smarty, a potem również OPcache).
– Testy „smoke test” po przełączeniu: logowanie, koszyk/checkout, płatność testowa, formularze.
– Monitoruj logi i metryki (czas odpowiedzi, błędy 500, porzucone koszyki).

Jak przełączyć wersję PHP u popularnych dostawców hostingu

Panel hostingu zwykle wystarcza – bez SSH i skomplikowanych komend.

– cPanel: MultiPHP Manager -> wybierz domenę/subdomenę -> ustaw wersję PHP -> potwierdź. Sprawdź zakładkę „Select PHP Extensions” lub „PHP Selector”.

– Plesk: Domeny -> Ustawienia hostingu -> Wersja PHP i tryb obsługi (FPM/CGI). Włącz/wyłącz moduły i ustaw dyrektywy.

– DirectAdmin: „Select PHP Version” lub „PHP-FPM Selector” -> wybierz wersję -> zaznacz rozszerzenia -> zapisz.

– VPS/dedyk: Nginx/Apache + PHP-FPM
– Zainstaluj równolegle nowe PHP (np. 8.2) i utwórz osobny pool FPM.
– Podmień socket/port w vhoście dla domeny testowej, potem produkcyjnej.
– Upewnij się, że cron używa tej samej wersji (środowisko CLI).

W każdym wypadku po zmianie zrestartuj usługi (FPM/Apache/Nginx) i wyczyść OPcache.

Specyfika WordPress: na co uważać przy PHP 8.x

Większość nowoczesnych wtyczek już działa, ale starsze dodatki potrafią zaskoczyć.

– Starsze motywy/wtyczki mogą używać przestarzałych konstrukcji (create_function, dynamiczne właściwości obiektów) – w PHP 8.1/8.2 pojawią się ostrzeżenia lub błędy.

– Zwróć uwagę na biblioteki obrazów: Imagick vs GD. Jeśli pojawiają się błędy generowania miniatur, przełącz na GD albo zaktualizuj Imagick.

– Narzędzia diagnostyczne:
– „Site Health” w kokpicie WordPressa wskaże problemy z konfiguracją.
– WP-CLI: szybkie aktualizacje i przegląd stanu (świetne w stagingu).

– Cache po aktualizacji:
– Wyczyść cache wtyczki (np. WP Rocket, W3TC) i OPcache.
– Rozważ włączenie obiektowego cache (Redis) dla większych serwisów.

Specyfika PrestaShop: ostrożnie z modułami i PHP intl

Sklep to łańcuch naczyń połączonych – wystarczy jeden moduł, by zablokować zamówienia.

– Moduły płatności i logistyki: sprawdź zgod (Incomplete: max_output_tokens)

Łukasz Janeczko

Nazywam się Łukasz i stoję za DropDigital – ogarniam PrestaShop, WordPressa i własne moduły, które ułatwiają życie przedsiębiorcom. Prywatnie fan muzyki, Linuxa i motoryzacji, z zamiłowaniem do rozwiązywania problemów “po swojemu”.

Zostaw swój numer - oddzwonię

Cześć! Zadzwoń +48 572 651 439 lub napisz lub zostaw numer telefonu, a oddzwonię w ciągu 1h i porozmawiamy o ofercie.

Picture of Łukasz Janeczko

Łukasz Janeczko

Programista - DropDigital.pl