Aktualizacja PHP w WordPressie to nie to samo co aktualizacja WordPressa. Wersję interpretera zmienia hosting albo administrator serwera — WordPress jedynie zgłasza, że pracuje na zbyt starej gałęzi. W tym artykule rozdzielamy oba tematy: pokazujemy, gdzie faktycznie ustawia się PHP, jak sprawdzić obecną wersję i jak przygotować zmianę tak, żeby nie wyłączyć sklepu na kilka godzin. Część organizacyjną (kolejność działań, kopie, staging) łączymy z listą typowych błędów, które widzimy najczęściej przy migracjach z PHP 7.4. Jeśli wolisz oddać to komuś, zobacz, co obejmuje opieka WordPress Białystok: zakres i ceny.

Kto właściwie aktualizuje PHP w WordPressie i dlaczego nie zrobi tego za Ciebie

WordPress nie ma dostępu do wersji interpretera PHP na serwerze i nie może jej zmienić. Gdy w Narzędzia → Kondycja witryny pojawia się komunikat „Twoja witryna działa na nieaktualnej wersji PHP”, to nie jest błąd WordPressa, a wyłącznie sygnał: gałąź ustawiona dla Twojego konta kończy wsparcie. Samą zmianę wykonuje hosting albo osoba administrująca serwerem.

W praktyce wersję PHP ustawia się w jednym z pięciu miejsc:

Aktualizacja WordPressa (rdzeń, wtyczki, motyw) to zupełnie inny proces. Możesz mieć WordPressa 6.7 na PHP 7.4 i strona będzie działać — do dnia, w którym hosting wyłączy starą gałąź. Przy hostingu współdzielonym za aktualizacje PHP odpowiada dostawca: ustawia wersję domyślną i wysyła komunikat o wyłączeniu starej, zwykle 30–90 dni wcześniej. Twój zakres to wybór wersji z listy i sprawdzenie, czy sklep nadal działa. Na VPS-ie lub serwerze dedykowanym odpowiedzialność przechodzi na Ciebie albo na firmę administrującą serwerem — razem z aktualizacją pakietów, konfiguracji i restartem usług. Jeśli nie chcesz tego pilnować we własnym zakresie, zobacz, co obejmuje opieka WordPress Białystok i ile kosztuje.

Konsekwencja pominięcia tematu jest jedna i twarda: gałąź po zakończeniu wsparcia nie dostaje łatek bezpieczeństwa, a publicznie znane luki w PHP są skanowane i wykorzystywane automatycznie.

Jaką wersję PHP wybrać: mapa wsparcia, EOL i zgodność

Punktem startowym jest oficjalny cykl życia PHP. Poniżej stan na moment publikacji — daty się zmieniają, więc przed decyzją zweryfikuj je na php.net (php.net/supported-versions.php) i sprawdź, co domyślnie oferuje Twój hosting.

Rekomendacja praktyczna: celuj w jedną z gałęzi w aktywnym wsparciu, ale nie w najświeższą premierę. Nowa wersja PHP pojawia się w produkcji u dostawców zwykle kilka miesięcy po wydaniu, a wtyczki nadrabiają zgodność jeszcze później. Bezpieczniejszy ruch to wybór o jedną–dwie wersje wstecz od najnowszej, po audycie wtyczek. Nie przeskakuj z PHP 7.4 od razu na 8.4 na produkcji — to niepotrzebne ryzyko, bo dwie duże zmiany łamiące zgodność nakładają się na siebie.

Po stronie platformy: WordPress 6.x wspiera PHP od 7.2.24, ale sam zespół rekomenduje 7.4 lub nowszą gałąź, a bieżące wydania są testowane na PHP 8.x — aktualne wymagania znajdziesz na wordpress.org/about/requirements. WooCommerce ma własne, nieco węższe wymagania, opisane w dokumentacji WooCommerce. PrestaShop rozdziela gałęzie: 1.7 obsługuje PHP 7.x, a linia 8.x wymaga PHP 8 — dokładne zakresy dla konkretnej wersji sprawdź w dokumentacji dla deweloperów PrestaShop. Zawsze porównaj trzy rzeczy: wymagania platformy, wymagania wtyczek/modułów i to, co realnie udostępnia hosting. Jeśli któraś wtyczka deklaruje „Requires PHP: 7.4”, przy PHP 8.3 nadal musi być przetestowana — deklaracja to minimum, nie gwarancja.

Wersja PHPStatusWsparcie bezpieczeństwa doRekomendacja
7.4po EOL28.11.2022migruj jak najszybciej — brak łatek
8.0po EOL26.11.2023migruj jak najszybciej — brak łatek
8.1tylko poprawki bezpieczeństwa31.12.2025nie zaczynaj na tym nowych wdrożeń
8.2tylko poprawki bezpieczeństwa31.12.2026dobry kompromis, szerokie wsparcie wtyczek
8.3aktywne wsparcie31.12.2027sensowny cel po czystym audycie
8.4aktywne wsparcie31.12.2028najnowsza gałąź — przetestuj na staging przed produkcją

Audyt przed aktualizacją: wtyczki, motyw i własny kod

Audyt ma odpowiedzieć na jedno pytanie: co się zepsuje, gdy zmienimy wersję PHP. Trzy najczęstsze źródła awarii to porzucone wtyczki, stary motyw i własny kod w child theme.

Wtyczki. W pliku głównym i w readme.txt szukaj nagłówka „Requires PHP” oraz pola „Tested up to”. Uwaga: „Tested up to” dotyczy WordPressa, nie PHP — wtyczka zgodna z WP 6.7 może jednocześnie wywalać fatal error na PHP 8. Listę aktywnych wtyczek z wersjami wyciągniesz przez WP-CLI: wp plugin list --status=active --fields=name,version,update. Weryfikacja po stronie hostingu to jedno polecenie: wp --info pokaże wersję PHP, na której pracuje CLI (może różnić się od tej używanej przez php-fpm).

Porzucone wtyczki. Brak aktualizacji dłużej niż 12 miesięcy to nasza najczęstsza przyczyna awarii przy przejściu na PHP 8.x. Typowe wywołania: create_function() (usunięte w PHP 8.0), each(), money_format(), składnia indeksu stringu w nawiasach klamrowych $t{0}, przekazywanie null do parametrów nie-nullowalnych (deprecated w 8.1) oraz dynamiczne właściwości klas (deprecated w 8.2).

Własny kod. functions.php w child theme, snippety wklejone z tutoriali i kod pisany pod PHP 7.x to zwykle najtrudniejszy element, bo nikt go nie aktualizuje automatycznie.

Narzędzia. PHP Compatibility Checker przeanalizuje wtyczki i motyw pod wybrany zakres wersji. Query Monitor pokaże błędy PHP, wolne zapytania i hooki na staging. Do tego WP_DEBUG i WP_DEBUG_LOG w wp-config.php oraz log błędów php-fpm. Wynik audytu zapisz jako listę: do naprawy, do wymiany, zostaje bez zmian. Jeśli połowa wtyczek wypada z listy, policz koszt wymiany — punkt odniesienia masz w zestawieniu ile kosztuje sklep internetowy WordPress.

Kopia zapasowa i staging — przygotowanie, którego nie wolno pominąć

Zanim ruszy jakakolwiek zmiana wersji PHP, na serwerze musi istnieć punkt powrotu. Backup robimy w dwóch częściach: pliki i baza danych. Przez SSH wygląda to tak: wp db export kopia-2026-01-15.sql oraz tar -czf pliki.tar.gz public_html. Kopia musi trafić poza serwer — na dysk lokalny, do Backblaze B2, S3 albo na Google Drive. Backup trzymany na tym samym hostingu nie ratuje, gdy padnie konfiguracja PHP-FPM albo nadpiszesz .htaccess i strona przestanie odpowiadać.

Środowisko testowe stawiasz na trzy sposoby:

Trzy rzeczy, które są pomijane najczęściej:

Zapisz stan wyjściowy, do którego wracasz: wersję PHP (php -v), listę rozszerzeń (php -m oraz wynik phpinfo()), wersję MySQL/MariaDB (SELECT VERSION();) i konfigurację OPcache (memory_consumption, max_accelerated_files). Bez tego punktu powrotu przy błędzie 500 zostaje zgadywanie. Jeśli nie chcesz robić tego samodzielnie, opieka WordPress Białystok: co obejmuje i ile kosztuje opisuje, co wchodzi w taki pakiet.

Co zapisać przed zmianąJak sprawdzićPo co
Wersja PHPphp -v, Site Health w WordPressiePunkt powrotu, jeśli coś przestanie działać
Lista rozszerzeńphp -m, phpinfo()Wykrycie brakującego rozszerzenia po zmianie wersji
Wersja bazy danychSELECT VERSION();Zgodność z wymaganiami nowego PHP
Konfiguracja OPcachephpinfo(), php -iWydajność i wyjaśnienie różnic w czasie odpowiedzi

Aktualizacja krok po kroku: cztery warianty zmiany wersji PHP

Sposób zmiany zależy od tego, jak zarządzasz serwerem. Poniżej cztery realne scenariusze.

Wariant 1: panel hostingu. Najczęstszy przypadek w małych i średnich firmach. W DirectAdmin szukaj sekcji Extra Features → Select PHP Version, w cPanel — Software → MultiPHP Manager, a limity ustawisz w MultiPHP INI Editor. Większość polskich hostingów ma własny panel z zakładką „PHP” przy domenie. Uwaga: ustawienie zwykle dotyczy konkretnej domeny lub katalogu, nie całego konta — po zmianie potwierdź w Narzędzia → Site Health albo w pliku z phpinfo(), że działa właściwa wersja.

Wariant 2: WP-CLI na stagingu. Kolejność ma znaczenie: najpierw wp plugin update --all i wp core update (plus wp core update-db) na starej wersji PHP, potem testy, dopiero na końcu zmiana PHP. Wyjątek: jeśli któraś wtyczka wymaga już nowszej gałęzi, aktualizacja na starym PHP się nie wykona — wtedy zmieniasz PHP na stagingu i szukasz konfliktów.

Wariant 3: pliki konfiguracyjne. W .htaccess działa AddHandler application/x-httpd-php83 .php (składnia bywa różna, czasem AddType), w Apache — SetHandler proxy:unix:/run/php/php8.3-fpm.sock, w php-fpm pool w /etc/php/8.3/fpm/pool.d/, na LiteSpeed — LSAPI. Główne ryzyko: hosting przy własnej aktualizacji potrafi nadpisać .htaccess. Trzymaj kopię i sprawdzaj plik po każdej zmianie po stronie dostawcy.

Wariant 4: Docker. Dla firm z własnym środowiskiem deweloperskim — obraz php:8.3-fpm w docker-compose razem z bazą, wersja zapisana w repozytorium, więc cały zespół pracuje na tym samym.

Zasada wdrożenia jest jedna: staging → testy → produkcja w oknie o niskim ruchu (np. 2:00–4:00), z zapisaną godziną zmiany i osobą, która ją wykonała.

WariantDla kogoGdzie się zmieniaGłówne ryzyko
Panel hostinguMŚP bez administratora serweraDirectAdmin: Select PHP Version, cPanel: MultiPHP ManagerZmiana dotyczy tylko jednej domeny lub katalogu
WP-CLI na staginguSklepy z dostępem SSH i stagingiemTerminal, polecenia wpZła kolejność: PHP zmienione przed aktualizacją wtyczek
Pliki konfiguracyjneVPS i serwery dedykowane.htaccess, php-fpm, LiteSpeedNadpisanie pliku przy aktualizacji po stronie hostingu
DockerFirmy z własnym środowiskiem deweloperskimdocker-compose.ymlRozjazd wersji między lokalnym obrazem a produkcją

Testy po aktualizacji: co sprawdzić w pierwszych 30 minutach

„Strona się otwiera” to nie test. Pierwsze pół godziny po zmianie PHP to konkretna lista punktów, wykonywana na produkcji zaraz po wdrożeniu.

Front i panel: zaloguj się do /wp-admin, zapisz wpis, wgraj plik do biblioteki mediów (najlepiej plik JPEG i PDF), zapisz ustawienia w Ustawienia → Bezpośrednie odnośniki, wyślij formularz kontaktowy i sprawdź, czy mail doszedł.

Ścieżka zakupowa: dodaj produkt do koszyka, przejdź checkout, wykonaj jedną transakcję testową przez bramkę w trybie produkcyjnym na kwotę 1 zł i zwróć ją — to jedyny sposób, żeby sprawdzić, czy webhook bramki zwraca poprawny status. Osobno przetestuj wybór paczkomatu InPost oraz kuriera DPD i DHL: mapy działają na JavaScript, więc problem widać od razu.

Integracje: ERP i magazyn (czy stan schodzi po zmianie statusu zamówienia), feedy Ceneo i Google Merchant, płatności cykliczne, REST API — curl https://twojadomena.pl/wp-json/wp/v2/posts, webhooki do systemów zewnętrznych.

Diagnostyka: w wp-config.php ustaw WP_DEBUG i WP_DEBUG_LOG na true, a WP_DEBUG_DISPLAY na false. Sprawdź wp-content/debug.log, error_log PHP oraz log serwera (Apache, Nginx, LiteSpeed). Po testach wyłącz debugowanie — publiczne komunikaty błędów to wyciek informacji o serwerze.

Wydajność: zmierz TTFB przed i po zmianie: curl -o /dev/null -s -w '%{time_starttransfer}\n' https://twojadomena.pl — raz z wyłączonym cache, raz z włączonym. Bez rozdzielenia tych dwóch pomiarów przypiszesz efekt cache do zmiany PHP. Kontekst metryk wydajności opisuje dokumentacja Core Web Vitals. Przy sklepie prowadzonym przez kilka osób warto wcześniej ustalić, kto odpowiada za testy — organizacja pracy przy sklepie internetowym to temat równie praktyczny jak sama migracja.

ObszarCo sprawdzićCzym
Panel WordPressLogowanie, zapis wpisu, upload mediów, zapis ustawieńPrzeglądarka, konto administratora
Koszyk i płatnościDodanie do koszyka, checkout, transakcja 1 zł i zwrotBramka w trybie produkcyjnym lub sandbox
DostawyMapa paczkomatów InPost, kurier DPD, DHLRęczne złożenie zamówienia testowego
Crony i APIZadania w tle, REST API, webhookiwp cron event list, curl na /wp-json/
DiagnostykaBłędy PHP, logi serwera, wyciek komunikatówWP_DEBUG_LOG, error_log, log hostingu
WydajnośćTTFB z cache i bez cachecurl -w '%{time_starttransfer}'

Najczęstsze błędy po aktualizacji PHP i jak je naprawić

Po przełączeniu PHP na 8.1, 8.2 albo 8.3 rzadko pada cały sklep — zwykle pada jedna wtyczka. Dlatego pierwszy ruch to nie czytanie kodu, a ustalenie, co dokładnie się wywala.

Fatal error z treścią „Call to undefined function” albo „Call to a member function on null” oznacza kod napisany pod PHP 7.x. Włącz w wp-config.php stałe WP_DEBUG na true, WP_DEBUG_LOG na true, a WP_DEBUG_DISPLAY na false — wtedy ślad leci do wp-content/debug.log, a nie na ekran klienta. W logu szukasz pełnej ścieżki pliku: nazwa katalogu zaraz pod wp-content/plugins/ to winowajca. Drugi sposób na sklep z 30 wtyczkami: zmień nazwę katalogu wp-content/plugins na plugins_off (WordPress zdjąć wszystkie moduły naraz), a potem przywracaj je partiami po 5–8 i sprawdzaj, czy błąd wraca.

ObjawNajczęstsza przyczynaPierwszy ruch
Fatal error: undefined function / member function on nullWtyczka lub motyw na funkcjach usuniętych w PHP 8WP_DEBUG_LOG, odczytaj ścieżkę z debug.log, zdjęcie całego katalogu plugins i włączanie partiami
Biały ekran, HTTP 500 bez treściWyczerpany memory_limit, błąd handlera PHP, pusty log WordPressaerror_log hostingu, memory_limit do 256M, display_errors=Off i log_errors=On
Setki Deprecated / WarningKod na przestarzałych funkcjach, właściwości dynamiczneZbierz unikalne komunikaty, sprawdź czy dotyczą ścieżki koszyk–płatność–zamówienie
REST API 500, edytor bloku nie startujeStara wtyczka psuje endpoint /wp-json/Test /wp-json/, wyłączenie wtyczki wskazanej w logu, ponowny test edytora
Koszyk lub płatność liczą źle, bez błędu w loguCicha zmiana zachowania funkcji między gałęziami PHPTestowe zamówienie od zera plus log bramki płatniczej i PHP z tego samego okna czasowego

Co realnie zyskujesz: wydajność, bezpieczeństwo i SEO

Największy zysk z nowszej gałęzi PHP nie siedzi w samych pętlach, tylko w OPcache. Skompilowany kod leży w pamięci zamiast być kompilowany przy każdym żądaniu: opcache.enable=1, opcache.memory_consumption=256, opcache.max_accelerated_files=20000. Uwaga na pułapkę — jeśli max_accelerated_files zostanie za nisko, cache się przesypuje i strona bywa wolniejsza niż przed migracją. JIT (opcache.jit=1255) pomaga w kodzie liczącym, ale sklep najczęściej czeka na MySQL. Przy 40 zapytaniach do bazy na kategorię różnica między PHP 7.4 a 8.2 w TTFB bywa w granicach szumu — dlatego najpierw sprawdź log wolnych zapytań, dopiero potem chwal się benchmarkiem.

Bezpieczeństwo to nie straszak, a kwestia harmonogramu: PHP 7.4 nie dostaje poprawek bezpieczeństwa od końca 2022 roku, więc podatność znaleziona w interpreterze zostaje otwarta na zawsze. Do tego konfiguracja: expose_php=Off (nie zdradzaj wersji w nagłówkach), display_errors=Off, log_errors=On.

SEO odczujesz tylko wtedy, gdy migracja była nieudana — błędy 500 i wolne odpowiedzi serwera trafiają do robotów jak każdy inny request. Po zmianie wejdź w Search Console: raport „Indeksowanie stron” (sekcja Błędy serwera 5xx) oraz statystyki pobierania. Efekt oceniaj po 2–4 tygodniach, nie po dwóch dniach. O tym, jak przekłada się to na budżet wdrożenia i utrzymania, piszemy w tekście o tym, ile kosztuje sklep internetowy WordPress, a jeśli chcesz mieć to pilnowane po starcie — sprawdź zakres stałej opieki WordPress i SLA. Szybkość ładowania jako sygnał jakości opisuje też dokumentacja Google o Core Web Vitals.

ObszarCo realnie się zmieniaCzym to zmierzyć
WydajnośćLepszy OPcache, niżej koszt operacji na stringach i tablicach, JIT dla zadań CPUTTFB i czas zapytań (Query Monitor, slow query log), nie sam wynik Lighthouse
BezpieczeństwoŁatki dla aktywnej gałęzi; gałąź po EOL nie dostaje ich wcalephpinfo() vs harmonogram wsparcia PHP, expose_php=Off, display_errors=Off
SEOMniej 5xx i stabilny czas odpowiedzi = spokojniejsze indeksowanieGSC: raport stron, błędy 5xx, statystyki pobierania, ocena po 2–4 tygodniach

Najczęstsze błędy i jak je wykryć

Traktowanie aktualizacji WordPressa jako aktualizacji PHP. Klikasz "Aktualizuj" w kokpicie, wersja PHP się nie zmienia i pojawia się wrażenie, że coś nie działa.

Jak wykryć: Porównaj wersję z Narzędzia → Zdrowie witryny (zakładka Informacje → Serwer) przed i po aktualizacji rdzenia. Jeśli liczba jest ta sama, PHP nie zostało ruszone.

Jak naprawić: Zmień wersję tam, gdzie faktycznie jest ustawiona: w panelu hostingu (cPanel, DirectAdmin, CloudPanel), w .htaccess, w konfiguracji LiteSpeed/nginx-php-fpm albo w obrazie Docker. WordPress nie ma do tego dostępu.

Przełączanie wersji PHP bezpośrednio na produkcji, bez kopii i bez środowiska testowego.

Jak wykryć: Zadaj sobie pytanie: czy mam klon strony na subdomenie i backup z ostatnich 24 godzin poza serwerem? Jeśli nie — nie masz planu powrotu.

Jak naprawić: Najpierw staging, potem produkcja. Kopia musi zawierać pliki i bazę i leżeć poza serwerem, na którym stoi strona.

Trzymanie PHP 7.4 "bo działa i nie chcę ryzykować".

Jak wykryć: Zdrowie witryny pokazuje ostrzeżenie o przestarzałej wersji PHP, a w panelu hostingu widzisz 7.4 lub starszą.

Jak naprawić: Zrób audyt wtyczek i motywu, wypisz moduły do naprawy, a potem zaplanuj migrację na wersję w aktywnym wsparciu. Odkładanie tego zwiększa ryzyko, nie zmniejsza.

Założenie, że hosting sam zaktualizuje PHP w wygodnym dla Ciebie momencie.

Jak wykryć: Brak jakiejkolwiek informacji od dostawcy o polityce wersji PHP, brak zapisanej daty migracji.

Jak naprawić: Napisz do supportu i zapytaj wprost: jakie wersje PHP są dostępne, do kiedy wspieracie obecną i czy planujecie wymuszoną migrację. Poproś o odpowiedź na piśmie.

Pomijanie wtyczek porzuconych, które nie były aktualizowane od ponad roku.

Jak wykryć: Sprawdź datę ostatniej aktualizacji wtyczki w repozytorium i na liście wtyczek. Brak wydania od 12 miesięcy to czerwona flaga.

Jak naprawić: Wypisz takie wtyczki i zaplanuj wymianę lub zastąpienie funkcji własnym, prostym kodem. To najczęstsze źródło błędów krytycznych przy przejściu na PHP 8.x.

Backup trzymany na tym samym hostingu, na którym stoi strona.

Jak wykryć: Sprawdź w panelu, gdzie fizycznie leżą pliki kopii. Jeśli na tym samym serwerze lub tym samym koncie — kopia nie chroni przed błędem konfiguracji.

Jak naprawić: Pobierz kopię na dysk lokalny, do chmury albo na inny hosting. Dopiero wtedy zmieniaj cokolwiek w konfiguracji PHP.

Lista kontrolna do odklikania

Podsumowanie

Aktualizacja PHP w WordPressie to zadanie hostingu lub administratora serwera, nie samego WordPressa — dlatego tak często bywa pomijana. Kolejność, która się sprawdza, jest zawsze taka sama: audyt wtyczek i własnego kodu, pełna kopia poza serwerem, staging zgodny wersją z produkcją, testy, dopiero potem zmiana na produkcji i obserwacja logów. Największe ryzyko nie leży w samej nowej wersji PHP, tylko w porzuconych wtyczkach i kodzie pisanym pod PHP 7.x. Im wcześniej zrobisz listę modułów do naprawy, tym mniej nerwów, gdy hosting ogłosi wymuszoną migrację.

Najczęściej zadawane pytania

Czy WordPress sam zaktualizuje PHP?

Nie. WordPress nie ma uprawnień do zmiany wersji interpretera na serwerze — może tylko pokazać ostrzeżenie, że pracuje na przestarzałej gałęzi. Wersję PHP ustawia hosting w panelu (cPanel, DirectAdmin, CloudPanel), wpis w .htaccess, konfiguracja LiteSpeed lub nginx-php-fpm, a na Dockerze — obraz kontenera. Jeśli nie masz dostępu do żadnego z tych miejsc, musisz napisać do dostawcy hostingu.

Jak sprawdzić, jaką wersję PHP ma moja strona?

Najszybciej w WordPressie: Narzędzia → Zdrowie witryny → Informacje → Serwer. Alternatywnie panel hostingu, plik phpinfo() na stagingu albo polecenie php -m przez SSH. Warto zapisać wynik razem z datą — przy rozmowie z hostingiem lub wykonawcą to najprostszy dowód stanu wyjściowego.

Czy aktualizacja PHP może zepsuć stronę?

Tak, jeśli wtyczka, motyw lub własny kod odwołują się do zachowań usuniętych w PHP 8.x — np. dynamicznych właściwości albo niejawnych konwersji. Dlatego zmiana wersji PHP to projekt, a nie kliknięcie jednego przycisku: audyt, kopia poza serwerem, staging, testy, dopiero potem produkcja.

Jaką wersję PHP wybrać dla sklepu na WooCommerce lub PrestaShop?

Celuj w wersję w fazie aktywnego wsparcia, ale nie w świeżo wydaną gałąź — najpierw sprawdź deklarowane wsparcie w dokumentacji platformy i wtyczek. Dla WooCommerce punktem wyjścia są wymagania opisane w dokumentacji WooCommerce, dla PrestaShop — w dokumentacji deweloperskiej PrestaShop. Każde nowe wydanie platformy podnosi te wymagania, więc traktuj to jako punkt startowy, nie stałą odpowiedź.

Kto odpowiada za aktualizację PHP na hostingu współdzielonym, a kto na VPS?

Na hostingu współdzielonym robi to dostawca — Ty wybierasz tylko wersję z dostępnej listy i nie masz wpływu na daty. Na VPS-ie z własną administracją odpowiadasz Ty albo Twój administrator: to Ty decydujesz o konfiguracji puli PHP-FPM, rozszerzeniach i OPcache. W praktyce większość awarii przy migracji wynika z tego, że nikt nie ustalił, kto jest po której stronie.

Czy hostingi mogą same wymusić nowszą wersję PHP?

Tak i coraz częściej to robią. Po zakończeniu wsparcia danej gałęzi nie dostajesz już łatek bezpieczeństwa, więc dostawcy masowo migrują konta na nowszą wersję, żeby nie trzymać podatnego interpretera. Jeśli nie przygotujesz strony wcześniej, zmiana przyjdzie w terminie narzuconym przez hosting — razem z błędami, których nie zdążysz naprawić.

Ile trwa taka migracja?

To zależy od liczby wtyczek i ilości własnego kodu. Prostą stronę z kilkoma popularnymi wtyczkami da się sprawdzić w ciągu jednego dnia pracy. Sklep z kilkudziesięcioma rozszerzeniami i modyfikacjami w motywie to zwykle kilka dni, licząc audyt, poprawki i testy na stagingu. Terminu nie da się uczciwie podać bez wcześniejszego audytu.

Jeśli chcesz wiedzieć, ile pracy wymaga Twoja instalacja, zacznijmy od audytu — bez zobowiązań. Opisz, na jakiej wersji PHP stoi strona i ile masz wtyczek, a wrócimy z konkretami.

Źródła i materiały