Przejdź do treści

Ustawienia plików cookie

Prosimy wybrać, na które rodzaje plików cookie Państwo zezwalają. Wybór można zmienić w dowolnym momencie w Ustawieniach plików cookie na dole każdej strony. Polityka prywatności

Niezbędne

Zawsze włączone

Potrzebne do logowania, zachowania koszyka i zapamiętania wyborów. Są zawsze włączone.

Jakie pliki cookie?
  • weboke_sessie, weboke_klant, weboke_remember: sesja i pozostanie zalogowanym
  • weboke_basket: koszyk
  • wkBtwIncl: wyświetlanie cen z VAT lub bez VAT
  • wok_cookies: wybór dotyczący plików cookie, 12 miesięcy

Mierzą, która reklama prowadzi do odwiedzin lub zamówienia, abyśmy nie płacili za reklamy, które nic nie dają.

Jakie pliki cookie?
  • Google Ads przez Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, reklamy w ChatGPT
  • wok_aff: przez którego partnera trafili Państwo do nas (program partnerski), 60 dni

4,6

Kraj i język

Każdy kraj ma własną stronę z cenami i stawką VAT tego kraju.

Wyświetl

Wersje PHP i aktualizacje

Moduł 8: Kopie zapasowe, środowisko testowe (staging) i aktualizacje PHP · Czas czytania: 10 minut

Cel lekcji: Po tej lekcji będą Państwo potrafili bezpiecznie przygotować i przeprowadzić aktualizację PHP oraz w razie potrzeby ją cofnąć.

Kluczowe pojęcia: cykl życia PHP (aktywne wsparcie, tylko bezpieczeństwo, koniec wsparcia), zgodność WordPressa, motywu i wtyczek, przestarzałe (deprecated), ostrzeżenie, błąd krytyczny, Stan witryny, log błędów, środowisko testowe (staging), przywrócenie, zlecenie aktualizacji

Dlaczego wersje PHP mają znaczenie

WordPress, Państwa motyw i wtyczki są napisane w PHP (lekcja 1.2). Co roku ukazuje się nowa wersja PHP (8.3, 8.4, 8.5, ...). Każda wersja jest utrzymywana przez określony czas:

  • aktywne wsparcie: dwa lata poprawek błędów i poprawek bezpieczeństwa;
  • tylko bezpieczeństwo: następnie jeszcze dwa lata wyłącznie poprawek bezpieczeństwa;
  • koniec wsparcia (end of life): brak jakichkolwiek poprawek, również dla luk bezpieczeństwa.

Stan na 8 listopada 2026 r. według php.net:

WersjaAktualizacje bezpieczeństwa doStan
8.1 i starsze(minęło)Brak aktualizacji
8.231 grudnia 2026Tylko bezpieczeństwo, wkrótce koniec
8.331 grudnia 2027Tylko bezpieczeństwo
8.431 grudnia 2028Aktywne wsparcie
8.531 grudnia 2029Aktywne wsparcie

Strona internetowa działająca na wersji bez aktualizacji korzysta z oprogramowania ze znanymi lukami, które nie są już naprawiane. Ponadto nowsze wersje są zauważalnie szybsze (lekcja 6.3). wordpress.org zaleca też PHP 8.3 lub nowsze (stan na listopad 2026 r.). Celem jest więc nadążanie za zmianami co roku, a nie jeden duży skok raz na pięć lat.

Dlaczego aktualizacja może coś zepsuć

Każda nowa wersja PHP coś zmienia. Funkcje, które od lat były oznaczone jako przestarzałe (deprecated), zostają usunięte, a reguły stają się bardziej rygorystyczne. Kilka znanych przykładów:

  • PHP 8.0 usunęło między innymi create_function() i each(), a wiele ostrzeżeń stało się błędami;
  • PHP 8.2 oznaczyło jako przestarzałe dynamiczne tworzenie właściwości obiektów, co jest częste w starszych wtyczkach.

Istnieją trzy rodzaje komunikatów, a różnica między nimi jest ważna:

KomunikatZnaczenieSkutek
Deprecated (przestarzałe)"To jeszcze działa, ale zniknie w kolejnej wersji"Nic widocznego; ostrzeżenie na przyszłość
Warning lub NoticeCoś nie do końca się zgadzaZwykle nic widocznego, czasem jakiś element działa dziwnie
Fatal errorPHP przerywa działanieBiała strona lub "błąd krytyczny" (lekcja 5.4)

Sam WordPress zwykle dobrze nadąża za nowymi wersjami PHP. Ryzyko tkwi w starych wtyczkach i motywach, zwłaszcza jeśli od dawna nie były aktualizowane lub zostały napisane na zamówienie.

Jak sprawdzić obecną wersję

  • W WordPressie: Narzędzia > Stan witryny, zakładka Informacje, w sekcji Serwer: wersja PHP. Stan witryny ostrzega również, jeśli Państwa wersja jest przestarzała.
  • W panelu hostingowym: w DirectAdmin z CloudLinux w Select PHP version (z dopiskiem "(current)" przy obecnej wersji).
  • Czasami serwer zdradza ją w nagłówku X-Powered-By: PHP/8.3.x. Lepiej tego unikać (lekcja 7.4), ale jeśli nagłówek tam jest, wersję widać od razu.

Uwaga: u wielu dostawców hostingu wersja PHP obowiązuje dla całego pakietu, czyli dla wszystkich znajdujących się w nim stron. Stara strona w tym samym pakiecie może Państwa blokować. To dodatkowy powód, aby uporządkować stare strony lub przenieść je do osobnego pakietu.

Aktualizacja krok po kroku

  1. Najpierw aktualizacje. Proszę zaktualizować WordPressa, motyw i wszystkie wtyczki na obecnej wersji PHP. Rozwiązuje to już dużą część problemów, ponieważ twórcy dostosowują swój kod do nowych wersji PHP.
  2. Proszę sprawdzić, co mówią wtyczki. Na stronie wtyczki w wordpress.org podana jest wymagana wersja PHP; w dzienniku zmian (changelog) często pojawia się informacja "compatible with PHP 8.x". Wtyczka, która od lat nie była aktualizowana (lekcja 5.3), jest kandydatem do wymiany.
  3. Kopia zapasowa: proszę ją wykonać (lekcja 8.1).
  4. Testy w środowisku testowym (staging) (lekcja 8.3). Jeśli dostawca hostingu pozwala ustawić inną wersję PHP dla każdej strony, proszę ustawić nową wersję w środowisku testowym. Jeśli nie jest to możliwe (jedna wersja na pakiet), proszę testować w środowisku testowym w innym pakiecie, lokalnie albo wybrać spokojny moment na stronie produkcyjnej, mając starą wersję gotową do przywrócenia.
  5. Przełączenie: proszę wybrać nową wersję w panelu. W DirectAdmin z CloudLinux wybiera się ją w Select PHP version i klika Apply; bez Apply nic się nie zmieni.
  6. Natychmiastowa kontrola: proszę otworzyć stronę i przejrzeć kilka podstron, także panel administracyjny, formularz oraz (w przypadku sklepu) proces płatności. Proszę sprawdzić w logu błędów (lekcja 5.4), czy pojawiły się nowe wiersze PHP Fatal error.
  7. Rozszerzenia i ustawienia: u niektórych dostawców rozszerzenia PHP i opcje (takie jak memory_limit) są przypisane do konkretnej wersji. Po zmianie proszę sprawdzić, czy w nowej wersji są ustawione prawidłowo.

Gdy coś pójdzie nie tak

  • Błąd krytyczny: proszę przywrócić starą wersję (u większości dostawców można to zrobić od razu), aby strona znów działała. Następnie proszę znaleźć w logu błędów, która wtyczka lub który motyw był przyczyną (ścieżka jest podana w komunikacie o błędzie), zaktualizować go, wymienić lub poprosić twórcę o rozwiązanie. Potem proszę spróbować ponownie.
  • Tylko komunikaty deprecated: nie ma powodu, by wracać do starej wersji. Jest to jednak ostrzeżenie: w kolejnej wersji może z tego powstać błąd. Proszę zanotować, której wtyczki to dotyczy.
  • Kod pisany na zamówienie, który przestał działać: stara strona wykonana przez twórcę stron może zawierać kod, którego nikt już nie utrzymuje. Wtedy ten kod musi poprawić ktoś, kto zna PHP. Niektórzy dostawcy hostingu, w tym WebOké, oferują wykonanie tego za Państwa.

Proszę nie zostawiać strony "na zawsze" na starej wersji tylko dlatego, że jedna wtyczka nie nadąża. To jedynie odkładanie problemu, który z każdym rokiem rośnie.

Większa pewność z wyprzedzeniem

Dla zainteresowanych: za pomocą PHP_CodeSniffer i reguł PHPCompatibilityWP można sprawdzić kod wtyczek i motywów pod kątem elementów, które nie działają w nowszej wersji PHP, bez uruchamiania strony. Narzędzie wykrywa wiele, ale nie wszystko. Testy w środowisku testowym nadal są konieczne.

W praktyce: tak to wygląda w panelu

Jako przykład używamy DirectAdmin z CloudLinux. W cPanel funkcja ta nazywa się często MultiPHP Manager lub Select PHP Version, a w Plesk PHP Settings.

  1. Proszę otworzyć Select PHP version (w sekcji Dodatkowe funkcje).
  2. Proszę kliknąć wersję przy PHP version, wybrać nową wersję i kliknąć Apply.
  3. Proszę sprawdzić zakładki Extensions i Options dla nowej wersji.
  4. Proszę sprawdzić stronę i log błędów. Jeśli coś nie działa, proszę wybrać starą wersję i kliknąć Apply.

Podsumowanie

  • Każda wersja PHP otrzymuje dwa lata aktywnego wsparcia i dwa lata wyłącznie poprawek bezpieczeństwa; potem nie ma już żadnych poprawek. Na dzień 8 listopada 2026 r. wersja 8.1 nie otrzymuje już nic, a 8.2 jeszcze do końca 2026 r.
  • Aktualizacja psuje przede wszystkim stare wtyczki i motywy; deprecated to ostrzeżenie, fatal error zatrzymuje stronę.
  • Kolejność: wszystko zaktualizować, sprawdzić wtyczki, wykonać kopię zapasową, przetestować w środowisku testowym, przełączyć, od razu skontrolować.
  • Jeśli coś pójdzie nie tak, proszę przywrócić starą wersję, znaleźć winowajcę w logu błędów i rozwiązać problem; nie należy zostawać na starej wersji.
  • U wielu dostawców wersja obowiązuje dla całego pakietu; proszę uporządkować stare strony.

Quiz

1. Co oznacza, że wersja PHP otrzymuje "tylko bezpieczeństwo"?



2. Po aktualizacji PHP w logu błędów są tylko komunikaty "Deprecated". Co należy zrobić?



3. Jaka jest prawidłowa kolejność aktualizacji PHP?



4. Mają Państwo dwie strony w jednym pakiecie. Nowa obsługuje PHP 8.4, stara nie działa powyżej PHP 7.4. Na czym polega problem i jakie jest rozwiązanie?



Zadanie

Zadanie A8.4: Czy wersja PHP jest jeszcze wspierana? Proszę sprawdzić w Narzędzia > Stan witryny, zakładka Informacje, Serwer, jakiej wersji PHP używa Państwa strona, i wpisać ją wraz ze swoją domeną. Program porównuje wersję z listą wspieranych wersji z php.net: zielony przy aktywnym wsparciu, pomarańczowy przy wsparciu tylko w zakresie bezpieczeństwa, czerwony, gdy nie ma już aktualizacji. Jeśli serwer pokazuje wersję w nagłówku X-Powered-By, program sprawdza również, czy zgadza się ona z wpisaną wartością (i informuje, że lepiej ten nagłówek ukryć, lekcja 7.4).

Zadanie A8.4: Czy wersja PHP jest jeszcze wspierana?



Wprowadzone dane i wyniki sprawdzania nie są zapisywane. Przeglądarka zapamiętuje udzielone odpowiedzi oraz informację, czy zadanie zostało zaliczone. Po zalogowaniu w Moje kursy zapisywana jest jedynie informacja, że zadanie zostało zaliczone (lub prawie zaliczone); tam można ją również usunąć.

Zadanie D8.4: Plan aktualizacji. Proszę napisać plan aktualizacji swojej strony do najnowszej wersji PHP oferowanej przez dostawcę hostingu. Proszę uwzględnić: obecną i docelową wersję, posiadane wtyczki i motywy oraz to, czy obsługują wersję docelową (wraz ze źródłem tej informacji), gdzie odbędą się testy (środowisko testowe, inny pakiet, lokalnie), jak można wrócić do poprzedniej wersji oraz kiedy aktualizacja zostanie przeprowadzona. Jeśli to możliwe, proszę ją przeprowadzić i zanotować, co pojawiło się w logu błędów.

Zadanie D8.4: Plan aktualizacji

To zadanie wykonuje się samodzielnie, nikt go nie sprawdza. Prosimy zaznaczyć wykonane punkty i oznaczyć zadanie jako wykonane.



Zaznaczenia i notatki pozostają tylko w tej przeglądarce; nie są nigdzie wysyłane. Po zalogowaniu w Moje kursy zapisywana jest jedynie informacja, że zadanie zostało wykonane.

Dalsza lektura

Te artykuły opisują kroki w panelach WebOké; w innych panelach działa to podobnie.

Chwileczkę…

Konfiguracja domen

Dla każdej domeny można ustawić serwery nazw, powiązanie z hostingiem oraz to, kto zostanie właścicielem.

Wczytywanie domen…