Zmiana wersji PHP WordPress PrestaShop to dla wielu administratorów chwila prawdy: z jednej strony kuszą lepsza wydajność i bezpieczeństwo, z drugiej – obawa o zgodność motywów, wtyczek oraz modułów. Dobra wiadomość jest taka, że odpowiednie przygotowanie pozwala przejść ten proces spokojnie i bez przestojów. Poniżej znajdziesz praktyczny, przystępny przewodnik, który prowadzi krok po kroku przez zmianę wersji PHP w dwóch najpopularniejszych systemach: WordPressie i PrestaShop.
Dlaczego aktualizacja PHP ma znaczenie (i kiedy nie warto zwlekać)
Aktualny PHP to więcej niż marketingowa nowinka. To konkretne korzyści:
– Bezpieczeństwo: nowsze gałęzie PHP regularnie otrzymują poprawki, a wersje po EOL nie są już łatane.
– Wydajność: przejście z PHP 7.4 do 8.x potrafi przynieść realny spadek czasu odpowiedzi i mniejsze zużycie CPU.
– Zgodność z ekosystemem: kluczowe wtyczki (np. WooCommerce) i nowoczesne moduły do PrestaShop optymalizowane są pod PHP 8.x.
Odkładanie zmiany zwiększa ryzyko. Każdy kolejny miesiąc na niewspieranej wersji to potencjalne luki, problemy z integracjami i ograniczenia w rozwoju sklepu czy serwisu.
Co sprawdzić przed zmianą — checklista przygotowań
Zanim klikniesz “Zmień wersję” w panelu hostingu, upewnij się, że masz plan:
– Zgodność aplikacji i dodatków:
– Sprawdź, jakie wersje PHP wspiera Twoja wersja WordPressa / PrestaShop (w dokumentacji projektu).
– Przejrzyj listę wtyczek/modułów i motywów. Warto zajrzeć do changelogów oraz tabel kompatybilności.
– Wersja motywu/dziecka i nadpiski:
– W PrestaShop nadpiski (overrides) i moduły od zewnętrznych dostawców bywają czułym punktem.
– Kopia zapasowa:
– Pełny backup plików oraz bazy. Najlepiej dodatkowo eksport w panelu hostingu.
– Środowisko testowe (staging):
– Skopiuj serwis do subdomeny, testuj tam zmianę PHP w pierwszej kolejności.
– Rozszerzenia PHP:
– Upewnij się, że na docelowej wersji będziesz miał dostępne: json, mbstring, curl, intl, zip, gd/imagick, simplexml, pdo_mysql, sodium, bcmath (często potrzebne w PrestaShop), a także opcjonalnie soap.
– Zadania CRON i CLI:
– Sprawdź, jakiej binarki używa CRON (np. /usr/bin/php81, /usr/bin/php82). Po zmianie wersji w WWW, CLI może nadal wskazywać starą.
– Enkoder i biblioteki:
– Jeśli korzystasz z modułów wymagających ionCube/SourceGuardian, sprawdź wsparcie na nowym PHP.
– Limity i konfiguracja:
– Zanotuj memory_limit, max_execution_time, opcache, upload_max_filesize – po zmianie PHP warto je ustawić podobnie lub lepiej.
Minimalne i rekomendowane wersje — rozsądne ramy (zawsze potwierdź w dokumentacji)
– WordPress: ostatnie wydania zwykle działają bardzo dobrze na PHP 8.1–8.3. Starsze wtyczki mogą wymagać 7.4/8.0, ale to znak, że pora je zaktualizować lub wymienić.
– PrestaShop:
– Linie 1.7.x często ograniczają się do PHP 7.4–8.0 (zależnie od konkretnego wydania i modułów).
– Linie 8.x zwykle wspierają PHP 8.1, coraz częściej także 8.2.
Ponieważ zakresy mogą się zmieniać wraz z patchami i modułami, zawsze sprawdź oficjalną matrycę kompatybilności dla swojej wersji.
Zmiana wersji PHP WordPress PrestaShop — krok po kroku
Przygotowanie kopii zapasowej
Zrób to starannie – to Twoja polisa ubezpieczeniowa.
1) Pełny backup plików – przez SFTP lub menedżer plików w hostingu.
2) Eksport bazy danych – przez phpMyAdmin lub narzędzia hostingu.
3) Test przywracania – jeśli masz staging, przetestuj odtworzenie kopii. To najlepszy moment na sprawdzenie, czy backup na pewno działa.
Utworzenie środowiska testowego
1) Skopiuj produkcję na subdomenę (np. staging.domena.pl).
2) Skonfiguruj osobną bazę i popraw adresy URL:
– WordPress: zmień siteurl/home w wp_options (lub przez WP-CLI: wp option update).
– PrestaShop: zmień adres w bazie (ps_configuration) i cache wyczyść po zalogowaniu do panelu.
3) Zablokuj indeksację stagingu (noindex) i zabezpiecz hasłem, by nie szkodzić SEO.
Aktualizacja aplikacji i dodatków
1) Zaktualizuj WordPress/PrestaShop do najnowszego wydania w danej linii.
2) Zaktualizuj motywy/wtyczki/moduły – szczególnie te krytyczne: WooCommerce, wtyczki płatności, cache, SEO.
3) Usuń porzucone dodatki – jeśli autor nie wspiera PHP 8.x, rozważ alternatywy.
Włączenie logów i trybu debug
– WordPress:
– W pliku wp-config.php ustaw:
define(’WP_DEBUG’, true);
define(’WP_DEBUG_LOG’, true);
define(’WP_DEBUG_DISPLAY’, false);
– PrestaShop:
– W panelu: Zaawansowane -> Wydajność -> Tryb debugowania (lub _PS_MODE_DEV_ w defines.inc.php).
– Włącz wyświetlanie błędów tylko na stagingu.
Przełączenie wersji PHP w panelu hostingu
1) cPanel – MultiPHP Manager: wybierz domenę/subdomenę i ustaw docelowy PHP.
2) Plesk – Hosting Settings: PHP version + handler (np. FPM).
3) DirectAdmin – Domain Setup -> PHP Version Selector.
4) Serwer własny – zmień konfigurację wirtualnego hosta (Apache/Nginx + PHP-FPM), przeładuj usługę.
Po zmianie sprawdź i włącz potrzebne rozszerzenia, a także dostosuj wartości:
– memory_limit (dla WordPress/PrestaShop często 256–512M),
– max_execution_time (np. 120–300 sekund podczas aktualizacji),
– OPcache (włączony, z sensownymi limitami),
– post_max_size / upload_max_filesize (dla importów i zdjęć).
Uwaga: Dyrektywy w .htaccess/.user.ini mogą przestać działać lub działać inaczej przy FPM. Jeśli nie widzisz efektu zmian, ustaw parametry w panelu lub w php.ini przypiętym do domeny.
Sprawdzenie CLI i CRON
– Zidentyfikuj ścieżkę do PHP: which php lub php -v na serwerze.
– Jeśli CRON uruchamia zadania (np. WooCommerce, sitemap, PrestaShop cronjobs), zaktualizuj polecenia do właściwej wersji, np.:
/usr/bin/php82 /ścieżka/do/skryptu.php
Testy po zmianie
Na stagingu przeprowadź testy manualne i automatyczne:
– Dla WordPressa: logowanie, edycja wpisu, upload obrazków, działanie motywu, formularze, WooCommerce (koszyk, płatności, e-maile).
– Dla PrestaShop: koszyk, checkout, generowanie faktur, moduły kurierów/płatności, import produktów, panel administracyjny.
– Podgląd logów: wp-content/debug.log (WP) i logi PHP/serwera.
– Lighthouse/Pagespeed dla orientacyjnego porównania czasu odpowiedzi.
Jeśli staging działa poprawnie, powtórz ten sam proces na produkcji w oknie o mniejszym ruchu.
WordPress – na co uważać szczególnie
– Stare wtyczki: funkcje przestarzałe w PHP 8 (np. create_function, each) mogą powodować błędy krytyczne. Lepiej wymienić dodatek niż wymuszać starą wersję PHP.
– WooCommerce: aktualizuj rdzeń i rozszerzenia producenta. Zwróć uwagę na wtyczki bramek płatniczych.
– Cache i wydajność: po zmianie PHP wyczyść cache (wtyczka + serwer), sprawdź, czy OPcache działa.
– WP-CLI: upewnij się, że działa na tej samej wersji PHP co WWW, żeby uniknąć “niewidzialnych” różnic.
PrestaShop – praktyczne wskazówki i pułapki
– Moduły i overrides: to najczęstsze źródło błędów po zmianie PHP. Aktualizuj moduły, sprawdzaj kompatybilność z docelową wersją.
– Wymagane rozszerzenia: intl, bcmath, curl, gd/imagick, mbstring, zip, pdo_mysql to standard w wielu instalacjach. Brak jednego z nich może psuć koszyk lub generowanie dokumentów.
– Czyszczenie cache: Narzędzia -> Wydajność -> Wyczyść cache (oraz usuń pliki z var/cache/ jeśli to konieczne).
– Tryb debug: szybko pokaże deprecacje i błędy klas. Wyłącz na produkcji.
– Tłumaczenia i PDF: biblioteki generujące PDF (TCPDF) i translacje mogą mieć zależności od intl – sprawdź, czy działa poprawnie po zmianie.
– Import/eksport: większe paczki produktów mogą wymagać podbicia limitów pamięci i czasu wykonania.
Typowe błędy po aktualizacji PHP i jak je rozwiązać
– Biały ekran/500 Internal Server Error:
– Sprawdź logi błędów PHP i serwera. Najczęściej winny jest niekom (Incomplete: max_output_tokens)





