PHP 8.2 traci wsparcie 31 grudnia 2026 - plan przejścia na PHP 8.4 lub 8.5

PHP 8.1 nie dostaje już poprawek, PHP 8.2 straci je 31 grudnia 2026. Co daje PHP 8.5 wydane w listopadzie 2025, co w nim znika i jak przełączyć WordPressa lub sklep na nowszą wersję bez białego ekranu.

Większość stron w internecie działa na PHP, a większość właścicieli tych stron nigdy nie sprawdzała, na której wersji. Tymczasem kalendarz jest nieubłagany: PHP 8.1 nie dostaje poprawek bezpieczeństwa od 31 grudnia 2025, a PHP 8.2 straci je 31 grudnia 2026. Po tej dacie każda luka znaleziona w interpreterze zostaje otwarta na zawsze - a strona na niewspieranej wersji jest łatwym celem niezależnie od tego, jak dobrze zabezpieczony jest WordPress czy PrestaShop na wierzchu. Po drugiej stronie skali stoi PHP 8.5, wydane 20 listopada 2025, ze wsparciem do końca 2029 roku. Ten artykuł to plan przejścia: co daje nowa wersja, co w niej znika, jak sprawdzić zgodność wtyczek i jak przełączyć stronę bez białego ekranu.

Harmonogram wsparcia - kto ile ma czasu

Od 2022 roku każda wersja PHP dostaje dwa lata pełnego wsparcia i dwa lata poprawek wyłącznie bezpieczeństwa. Stan na wrzesień 2026:

  • PHP 8.1 - koniec wsparcia 31 grudnia 2025. Strony na 8.1 są już bez poprawek.
  • PHP 8.2 - tylko poprawki bezpieczeństwa, koniec 31 grudnia 2026.
  • PHP 8.3 - poprawki bezpieczeństwa do 31 grudnia 2027.
  • PHP 8.4 - pełne wsparcie do końca 2026, bezpieczeństwo do 31 grudnia 2028.
  • PHP 8.5 - pełne wsparcie do 31 grudnia 2027, bezpieczeństwo do 31 grudnia 2029.

Wniosek jest prosty: jeśli zmieniasz wersję raz na kilka lat, celuj w 8.4 lub 8.5. Przejście z 8.2 na 8.3 kupuje tylko rok spokoju, a większość problemów ze zgodnością i tak pojawia się między 8.1 a 8.3 (usunięte funkcje dynamicznych właściwości, ostrzeżenia o typach), więc skok od razu do 8.4 rzadko dokłada nowych kłopotów.

Co daje PHP 8.5

PHP 8.5 to wydanie ewolucyjne, w dużej mierze zgodne wstecz z 8.4, ale z kilkoma nowościami, które realnie zmieniają pracę deweloperów i stabilność stron:

  • Ślad stosu przy błędach krytycznych - dotąd komunikat o przekroczeniu limitu pamięci albo czasu wykonania mówił tylko "gdzie", teraz mówi też "przez co". Dla administratora hostingu to najważniejsza zmiana: diagnoza białego ekranu skraca się z godzin do minut.
  • Operator potoku |> - pozwala łączyć wywołania funkcji w czytelny łańcuch zamiast zagnieżdżać nawiasy.
  • Rozszerzenie URI - nowy, wbudowany parser adresów zgodny z RFC 3986 i standardem WHATWG. Zamyka klasę luk związanych z błędnym parsowaniem adresów (otwarte przekierowania, obejścia uwierzytelniania).
  • Funkcja clone z nadpisaniem właściwości - kopiowanie obiektów tylko do odczytu ze zmianą wybranych pól, ważne dla nowoczesnych frameworków.
  • Atrybut #[\NoDiscard] - ostrzeżenie, gdy kod ignoruje wynik funkcji, który powinien zostać użyty (np. rezultat walidacji).
  • Drobiazgi, które ucieszą sklepy: obsługa formatów HEIC i SVG w getimagesize, ciasteczka partycjonowane (CHIPS) w sesjach, klasa IntlListFormatter do list w lokalnych formatach, właściwość outerHTML w nowym DOM.

Do tego zwyczajowa porcja wydajności: kolejne optymalizacje silnika i OPcache, choć skok nie jest tak duży jak przy przejściu z 7.4 na 8.x. Na hostingu z LiteSpeed i włączonym OPcache różnica między 8.2 a 8.5 dla typowego WordPressa to kilka procent czasu generowania strony.

Co znika lub ostrzega w PHP 8.5

Każda nowa wersja oznacza część starych konstrukcji jako przestarzałe (deprecated): działają nadal, ale generują ostrzeżenia, a w PHP 9 znikną. W 8.5 na liście są m.in.:

  • niekanoniczne nazwy rzutowań: (boolean), (integer), (double), (binary) - zamiast nich (bool), (int), (float), (string),
  • operator odwrotnych apostrofów jako skrót shell_exec,
  • średnik zamiast dwukropka po case w instrukcji switch,
  • null jako klucz tablicy (od teraz jawnie pusty ciąg),
  • inkrementacja nienumerycznych ciągów znaków (zamiast tego str_increment),
  • funkcje curl_close i curl_share_close, stałe MHASH, stałe PDO specyficzne dla sterowników (np. PDO::MYSQL_ATTR_*, teraz w klasie Pdo\Mysql),
  • magiczne metody __sleep i __wakeup na rzecz __serialize i __unserialize.

W dobrze utrzymanych wtyczkach WordPressa te konstrukcje są rzadkością. Problem zaczyna się w motywach kupionych w 2018 roku i "jednorazowych" wtyczkach z niestandardowym kodem - one najczęściej wywołują ostrzeżenia, a przy trybie wyświetlania błędów potrafią zepsuć układ strony.

Jak przejść na nowszą wersję bez białego ekranu

  1. Sprawdź obecną wersję - w WordPressie: Narzędzia, Kondycja witryny, zakładka Informacje, sekcja Serwer. W panelu hostingu wersja PHP jest przypisana do domeny.
  2. Zrób kopię zapasową i zanotuj listę aktywnych wtyczek.
  3. Przeskanuj zgodność - wtyczka PHP Compatibility Checker albo narzędzie PHPCompatibility w wierszu poleceń wskażą pliki z przestarzałymi konstrukcjami. Motyw i wtyczki nieaktualizowane od ponad dwóch lat traktuj jako podejrzane niezależnie od wyniku.
  4. Zaktualizuj wszystko, co ma dostępną aktualizację; autorzy dopisują zgodność z nowym PHP zwykle w ciągu kilku miesięcy od wydania.
  5. Przełącz wersję na kopii testowej - na stagingu zmień PHP na docelową wersję i przeklikaj stronę z włączonym logowaniem błędów (WP_DEBUG_LOG). Ostrzeżenia w logu to lista rzeczy do naprawienia, nie powód do paniki.
  6. Przełącz produkcję w porze małego ruchu; w naszym panelu wersję PHP zmienia się osobno dla każdej domeny jednym kliknięciem, więc powrót do poprzedniej wersji w razie problemu trwa sekundy.
  7. Po zmianie wyczyść cache, sprawdź formularze, koszyk, wysyłkę maili i zadania cron; przez dobę obserwuj log błędów.

Jeśli strona ma wtyczkę, która nie działa na nowym PHP i nie ma aktualizacji, masz trzy wyjścia: znaleźć zamiennik, zlecić poprawkę (zwykle to kilka linii) albo zostać na 8.3, żeby kupić rok na decyzję. Zostawanie na 8.2 po grudniu 2026 nie jest opcją dla strony, która przetwarza dane klientów.

Najczęstsze błędy po zmianie wersji i jak je czytać

Po przełączeniu PHP w logu błędów pojawiają się zwykle trzy typy wpisów. Warto je rozróżniać, bo tylko jeden z nich naprawdę psuje stronę:

  • Deprecated - ostrzeżenie o przestarzałej konstrukcji, np. "Creation of dynamic property is deprecated" albo "The (integer) cast is deprecated". Strona działa, ale wtyczka wymaga aktualizacji; jeśli ostrzeżenia trafiają na ekran, wyłącz wyświetlanie błędów w produkcji (display_errors=Off) i zostaw logowanie do pliku.
  • Warning - np. "Undefined array key" lub "Trying to access array offset on null". Zazwyczaj nieszkodliwe, choć w formularzach i koszykach potrafią zepsuć wynik obliczeń; zgłoś autorowi wtyczki.
  • Fatal error - np. "Uncaught TypeError" albo "Call to undefined function". To biały ekran. W PHP 8.5 pod komunikatem znajdziesz ślad stosu z nazwą pliku wtyczki, która wywołała błąd; w starszych wersjach musisz szukać po ścieżce w komunikacie.

Najczęstsi winowajcy błędów krytycznych to stare wtyczki SEO i galerie, motywy z wbudowanymi "frameworkami" sprzed 2020 roku oraz własne fragmenty kodu w functions.php. Gdy znasz nazwę wtyczki, tymczasowo zmień nazwę jej katalogu przez FTP lub menedżer plików - WordPress ją wyłączy, strona wróci, a Ty spokojnie poszukasz aktualizacji lub zamiennika. Jeśli wolisz nie grzebać w plikach, na naszym hostingu wersję PHP przełączysz z powrotem jednym kliknięciem, a log błędów jest dostępny wprost w panelu.

Szybkie pytania

Czy WordPress 7.0 wymaga PHP 8.x? Formalnie działa od PHP 7.2.24, ale zalecane jest 8.2 lub nowsze; wszystkie nowe funkcje testowano na 8.2-8.5.

Co jeśli po zmianie zobaczę biały ekran? Wróć w panelu do poprzedniej wersji PHP, włącz logowanie błędów i sprawdź, która wtyczka wywołała błąd krytyczny - w PHP 8.5 zobaczysz to od razu w śladzie stosu.

Czy PrestaShop i WooCommerce działają na PHP 8.5? WooCommerce tak, przy aktualnych wersjach WordPressa i wtyczki. PrestaShop 9 obsługuje PHP 8.1-8.4; zgodność z 8.5 sprawdź w notach wydania swojej wersji przed zmianą.

Czy nowsze PHP przyspieszy stronę? Trochę, ale nie oczekuj cudów - większy zysk daje pamięć podręczna i Redis, o czym pisaliśmy w artykule WordPress wolno działa.

Które wersje PHP oferujecie? Od 5.6 do 8.5, wybierane osobno dla każdej domeny - starsze wersje wyłącznie dla starych aplikacji, których nie da się zmigrować.

Podsumowanie

Do 31 grudnia 2026 każda strona na PHP 8.2 powinna przejść na wersję nowszą, a strony na 8.1 są już spóźnione. Najrozsądniejszy cel to PHP 8.4 (wsparcie do końca 2028) albo 8.5 (do końca 2029), które poza bezpieczeństwem dają lepszą diagnostykę błędów i szybszy silnik. Cała operacja przy aktualnych wtyczkach zajmuje godzinę, a przy starych - jedno popołudnie z kopią testową. Jeśli wolisz, żeby zrobił to ktoś, kto robi to codziennie, nasza bezpłatna migracja obejmuje też dobór wersji PHP i test strony po zmianie.

Powiązane poradniki

Wszystkie poradniki z kategorii: WordPress

Powiązane usługi McProdukt

Zobacz również