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ć, wykonać i w razie potrzeby cofnąć aktualizację PHP.

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), przywracanie, zlecenie wykonania aktualizacji

Dlaczego wersje PHP mają znaczenie

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

  • aktywne wsparcie: dwa lata z poprawkami błędów i luk bezpieczeństwa;
  • tylko bezpieczeństwo: kolejne dwa lata, w których naprawiane są już tylko luki bezpieczeństwa;
  • koniec wsparcia (end of life): brak jakichkolwiek poprawek, również dla luk bezpieczeństwa.

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

WersjaAktualizacje bezpieczeństwa doStan
8.1 i starsze(minęło)Brak dalszych aktualizacji
8.231 grudnia 2026Tylko bezpieczeństwo, blisko końca wsparcia
8.331 grudnia 2027Tylko bezpieczeństwo
8.431 grudnia 2028Aktywne
8.531 grudnia 2029Aktywne

Strona działająca na wersji bez aktualizacji korzysta z oprogramowania ze znanymi lukami, które nie są już naprawiane. Dodatkowo nowsze wersje są odczuwalnie szybsze (lekcja 6.3). A wordpress.org zaleca PHP 8.3 lub nowsze (stan na listopad 2026). Chodzi więc o to, by nadążać co roku, a nie wykonywać 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ą usuwane, 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 dynamiczne tworzenie właściwości obiektów jako przestarzałe, co jest częstą praktyką w starszych wtyczkach.

Istnieją trzy rodzaje komunikatów i różnica między nimi jest istotna:

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 zachowuje się 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 leży w starych wtyczkach i motywach, zwłaszcza jeśli długo nie były aktualizowane lub są tworzone na zamówienie.

Jak sprawdzić bieżącą 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 aktualnej wersji).
  • Czasem serwer ujawnia ją w nagłówku X-Powered-By: PHP/8.3.x. Lepiej, żeby go nie było (lekcja 7.4), ale jeśli jest, łatwo z niego skorzystać.

Uwaga: u wielu hosterów wersja PHP dotyczy całego pakietu, a więc wszystkich stron w nim zawartych. Stara strona w tym samym pakiecie może Państwa blokować. To dodatkowy powód, by porządkować stare strony albo przenieść je do osobnego pakietu.

Aktualizacja krok po kroku

  1. Najpierw aktualizacja. Zaktualizuj WordPressa, motyw i wszystkie wtyczki na bieżącej wersji PHP. W ten sposób rozwiązuje się już sporą część problemów, bo 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 często widnieje „compatible with PHP 8.x”. Wtyczka, która od lat nie była aktualizowana (lekcja 5.3), jest kandydatką do wymiany.
  3. Wykonaj kopię zapasową (lekcja 8.1).
  4. Testowanie w środowisku testowym (staging) (lekcja 8.3). Jeśli hoster pozwala ustawić inną wersję PHP dla poszczególnych stron, proszę ustawić środowisko testowe na nowej wersji. Jeśli to niemożliwe (jedna wersja na cały pakiet), proszę przetestować w środowisku testowym w innym pakiecie, lokalnie, albo wybrać spokojny moment na środowisku produkcyjnym, mając gotową starą wersję 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 na Apply; bez kliknięcia Apply nic się nie zmieni.
  6. Natychmiastowa kontrola: proszę otworzyć stronę i przejrzeć kilka podstron, w tym panel administracyjny, formularz i (przy sklepie) proces zamówienia. 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 hosterów rozszerzenia PHP i opcje (takie jak memory_limit) są przypisane do konkretnej wersji. Po zmianie proszę sprawdzić, czy są poprawnie ustawione dla nowej wersji.

Jeśli coś pójdzie nie tak

  • Błąd krytyczny: proszę przywrócić starą wersję (u większości hosterów można to zrobić od razu), żeby strona znów działała. Proszę znaleźć w logu błędów, która wtyczka lub motyw był przyczyną (ścieżka jest podana w komunikacie o błędzie), zaktualizować ją, zastąpić inną lub poprosić twórcę o rozwiązanie. Potem proszę spróbować ponownie.
  • Tylko komunikaty deprecated: nie ma powodu do wycofywania się. To jednak ostrzeżenie: przy kolejnej wersji może stać się błędem. Proszę zapisać, której wtyczki to dotyczy.
  • Rozwiązania na zamówienie, które przestały działać: stara strona stworzona przez twórcę stron może zawierać kod, którym nikt już się nie zajmuje. Wówczas kod musi poprawić ktoś, kto zna PHP. Niektórzy hosterzy, także 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 odkładanie problemu, który z każdym rokiem rośnie.

Większa pewność z wyprzedzeniem

Dla osób, które chcą pójść dalej: za pomocą PHP_CodeSniffer i reguł PHPCompatibilityWP można sprawdzić kod swoich wtyczek i motywów pod kątem elementów, które nie będą działać w nowszej wersji PHP, bez uruchamiania strony. Znajduje to wiele, ale nie wszystko. Testowanie w środowisku testowym pozostaje konieczne.

W praktyce: jak to wygląda w panelu

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

  1. Proszę otworzyć Select PHP version (w sekcji Extra Programma's).
  2. Proszę kliknąć na 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 wsparcia ograniczonego do bezpieczeństwa; potem nie ma już żadnych poprawek. 8 listopada 2026 roku wersja 8.1 nie otrzymuje już niczego, a 8.2 jeszcze do końca 2026 roku.
  • Aktualizacja psuje przede wszystkim stare wtyczki i motywy; deprecated to ostrzeżenie, a fatal error zatrzymuje stronę.
  • Kolejność: zaktualizować wszystko, sprawdzić wtyczki, kopia zapasowa, test w środowisku testowym, przełączenie, natychmiastowa kontrola.
  • Jeśli coś pójdzie nie tak, proszę przywrócić starą wersję, znaleźć winowajcę w logu błędów i rozwiązać problem; proszę nie pozostawać na starej wersji na dłużej.
  • U wielu hosterów wersja dotyczy całego pakietu; proszę uporządkować stare strony.

Quiz

1. Co oznacza, że wersja PHP otrzymuje status „tylko bezpieczeństwo”?



2. Po aktualizacji PHP w logu błędów widoczne są wyłącznie komunikaty „Deprecated”. Co Państwo robią?



3. Jaka jest właściwa kolejność przy aktualizacji PHP?



4. Mają Państwo dwie strony w jednym pakiecie. Nowa obsługuje PHP 8.4, stara działa maksymalnie do 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 wprowadzić ją wraz z domeną. Program porówna wersję z listą wspieranych wersji z php.net: zielony przy aktywnym wsparciu, pomarańczowy przy wsparciu ograniczonym do bezpieczeństwa, czerwony gdy nie ma już żadnych aktualizacji. Jeśli serwer ujawnia wersję w nagłówku X-Powered-By, program sprawdzi też, czy jest ona zgodna z tym, co Państwo wpisali (i poinformuje, że lepiej ukryć ten nagłówek, 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 hostera. Proszę uwzględnić: obecną i docelową wersję, jakie mają Państwo wtyczki i motywy oraz czy obsługują wersję docelową (z podaniem źródła tej informacji), gdzie będą Państwo testować (środowisko testowe, inny pakiet, lokalnie), jak można wrócić do poprzedniej wersji oraz kiedy to zrobią. Proszę wykonać plan, jeśli to możliwe, i zapisać, 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.

Więcej informacji

Poniższe 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…