Jak w praktyce zaktualizować PHP: sprawdź, przełącz, zweryfikuj i ukryj wersję

Bezpieczeństwo Opublikowano 2026-10-28 / Ostatnio sprawdzono 2026-10-28 / Autor Yuki Nakazawa

W 2026 roku opublikowano krytyczną podatność PHP z oceną CVSS 9.8. Wśród japońskich stron, których serwery ujawniają wersję PHP, 59.5% wciąż pokazuje wersję niezaktualizowaną do wydania z poprawką (Yuki Nakazawa, Badanie ekspozycji bezpieczeństwa 2026; dane zebrane przez Site Scouter). Ten artykuł przeprowadza przez praktyczne kroki: jak ustalić, którą wersję PHP uruchamia Twój serwer, jak przełączyć wersję na hostingu współdzielonym, jak sprawdzić stronę po zmianie i wreszcie jak przestać ogłaszać numer wersji całemu światu.

Ten artykuł jest również opublikowany po angielsku na sitescouter.net i nkzw.jp oraz po japońsku na sitescouter.net. To polskie wydanie w serwisie Site Scouter, przetłumaczone z wersji angielskiej.

Najpierw ustal bieżącą wersję PHP

Rysunek: Najpierw ustal bieżącą wersję PHP
Rysunek: Najpierw ustal bieżącą wersję PHP

Pierwszy krok to wiedza, co faktycznie działa na serwerze. Sposobów sprawdzenia jest kilka; wystarczy dowolny z nich.

W panelu sterowania hostingu

Rysunek: W panelu sterowania hostingu
Rysunek: W panelu sterowania hostingu

Większość dostawców hostingu współdzielonego ma w panelu sterowania menu odpowiadające „PHP settings” lub „PHP version” (ustawienia PHP, wersja PHP). Zaloguj się, otwórz ustawienia swojej domeny lub strony, a zobaczysz aktualnie używaną wersję PHP. Nazwy i położenie menu różnią się u poszczególnych dostawców, więc zajrzyj do aktualnej instrukcji swojego dostawcy.

W „Site Health” (Zdrowie witryny) w WordPressie

Rysunek: W „Site Health” (Zdrowie witryny) w WordPressie
Rysunek: W „Site Health” (Zdrowie witryny) w WordPressie

Jeśli korzystasz z WordPressa, otwórz w panelu administracyjnym Tools → Site Health → Info (w polskiej wersji: Narzędzia → Zdrowie witryny → Informacje). Sekcja „Server” (Serwer) pokazuje bieżącą wersję PHP. Nie potrzeba żadnej wtyczki, więc dla osób prowadzących strony na WordPressie to najprostsza droga.

Za pomocą phpinfo() (nie zostawiaj tego w sieci)

Rysunek: Za pomocą phpinfo() (nie zostawiaj tego w sieci)
Rysunek: Za pomocą phpinfo() (nie zostawiaj tego w sieci)

Wgraj plik PHP zawierający wyłącznie <?php phpinfo(); ?> i otwórz go w przeglądarce, aby zobaczyć szczegółowe informacje o środowisku, w tym wersję PHP.

Usuń ten plik zaraz po sprawdzeniu. Wynik phpinfo() zawiera numery wersji, wartości konfiguracji i listę zainstalowanych modułów — dokładnie to, z czego może skorzystać atakujący. Pozostawienie go w sieci oznacza wręczenie mapy Twojego serwera. Traktuj go jak plik tymczasowy do jednorazowego sprawdzenia i natychmiast go usuń.

Za pomocą /server/ w sitescouter.net, aby zobaczyć wersję „widoczną z zewnątrz”

Rysunek: Za pomocą /server/ w sitescouter.net, aby zobaczyć wersję „widoczną z zewnątrz”
Rysunek: Za pomocą /server/ w sitescouter.net, aby zobaczyć wersję „widoczną z zewnątrz”

Powyższe metody pokazują to, co serwer widzi od środka. Aby zobaczyć, co Twój serwer faktycznie mówi odwiedzającym, użyj sprawdzenia informacji o serwerze Site Scouter (/server/). Wpisz adres URL, a narzędzie pokaże, czy wersja PHP pojawia się w nagłówkach Server lub X-Powered-By — to spojrzenie z perspektywy osoby trzeciej na to, czy „PHP 8.1.x” jest widoczne z zewnątrz.

Harmonogram wsparcia PHP i krytyczna podatność z 2026 roku

Rysunek: Harmonogram wsparcia PHP i krytyczna podatność z 2026 roku
Rysunek: Harmonogram wsparcia PHP i krytyczna podatność z 2026 roku

Harmonogram wsparcia

Rysunek: Harmonogram wsparcia
Rysunek: Harmonogram wsparcia

Poniżej zestawiono status wsparcia publikowany przez php.net (stan na 27 października 2026). Terminy mogą zostać przedłużone lub zmienione, więc przed podjęciem działań potwierdź je ponownie na php.net/supported-versions.php.

Wersja Status Koniec aktywnego wsparcia Koniec poprawek bezpieczeństwa
8.5 Wspierana (najnowsza) 2027-12-31 2029-12-31
8.4 Wspierana 2026-12-31 2028-12-31
8.3 Tylko poprawki bezpieczeństwa 2025-12-31 2027-12-31
8.2 Tylko poprawki bezpieczeństwa 2024-12-31 2026-12-31
8.1 i starsze Koniec życia (EOL) — Zakończone
7.x / 5.x Koniec życia (EOL) — Zakończone

Poprawki bezpieczeństwa dla 8.2 również kończą się z końcem 2026 roku. Jeśli dziś korzystasz z 8.2, w ciągu najbliższego roku musisz przejść na 8.3 lub nowszą. Wersje 8.1 i starsze nie otrzymują już żadnych łatek i wymagają działania od razu.

Tymczasem 52.3% japońskich stron ujawniających wersję PHP pokazuje wersję po końcu życia (Yuki Nakazawa, Badanie ekspozycji bezpieczeństwa 2026; dane zebrane przez Site Scouter). Gdy w wersji EOL zostanie wykryta podatność, poprawka nie zostanie wydana.

Odsetek wersji PHP po końcu życia według regionu (udział wśród stron ujawniających PHP)
Odsetek wersji PHP po końcu życia według regionu (udział wśród stron ujawniających PHP)
Japońskie hosty według wersji pobocznej PHP (hosty ujawniające wersję)
Japońskie hosty według wersji pobocznej PHP (hosty ujawniające wersję)

Krytyczna podatność z 2026 roku i wersje z poprawką

Rysunek: Krytyczna podatność z 2026 roku i wersje z poprawką
Rysunek: Krytyczna podatność z 2026 roku i wersje z poprawką

W 2026 roku opublikowano podatności PHP z oceną CVSS 9.8 (Critical).

CVE CVSS Opis Najniższa wersja zawierająca poprawkę
CVE-2026-109618 9.8 Use-after-free. Wywołana przez longjmp przy braku pamięci; pamięć może przenikać między żądaniami 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12
CVE-2026-109619 9.8 Powiązana podatność. Pamięć z uprzywilejowanego żądania może trafić do żądania innego użytkownika 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12

Wykorzystanie tych podatności może spowodować wmieszanie danych sesji innych użytkowników do żądania, co prowadzi do eskalacji uprawnień lub wycieku informacji, a w najgorszym przypadku do web shella na serwerze. Jeśli Twoja wersja jest niższa niż 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12, zaktualizuj ją niezwłocznie.

Odsetek stron wciąż pokazujących wersję bez poprawki dla podatności CVE PHP z 2026 roku
Odsetek stron wciąż pokazujących wersję bez poprawki dla podatności CVE PHP z 2026 roku

Procedura aktualizacji

Rysunek: Procedura aktualizacji
Rysunek: Procedura aktualizacji

Krok 1: Zrób kopię zapasową przed przełączeniem

Rysunek: Krok 1: Zrób kopię zapasową przed przełączeniem
Rysunek: Krok 1: Zrób kopię zapasową przed przełączeniem

Zmiana wersji może zmienić zachowanie PHP i wyłączyć stronę. Zawsze najpierw wykonaj te kopie zapasowe.

  • Kopia bazy danych: zrzut MySQL / MariaDB (w phpMyAdmin funkcja „Export”, czyli Eksport, albo funkcja kopii zapasowej w panelu sterowania)
  • Kopia plików: w przypadku WordPressa wszystko w katalogu wp-content/ (motywy, wtyczki, przesłane pliki) oraz wp-config.php

Krok 2: Sprawdź zgodność WordPressa, motywu i wtyczek

Rysunek: Krok 2: Sprawdź zgodność WordPressa, motywu i wtyczek
Rysunek: Krok 2: Sprawdź zgodność WordPressa, motywu i wtyczek

Przy przejściu między wersjami głównymi (7.x → 8.x) upewnij się wcześniej, że rdzeń WordPressa, Twój motyw i każda zainstalowana wtyczka obsługują docelową wersję PHP.

  • Najpierw zaktualizuj rdzeń WordPressa przez Dashboard → Updates (Kokpit → Aktualizacje)
  • Dla każdej wtyczki sprawdź pole „Tested up to” na jej stronie w WordPress.org lub w informacjach wsparcia od twórcy
  • Rozważ zastąpienie starych, nierozwijanych wtyczek

Krok 3: Przetestuj w środowisku stagingowym (zalecane)

Rysunek: Krok 3: Przetestuj w środowisku stagingowym (zalecane)
Rysunek: Krok 3: Przetestuj w środowisku stagingowym (zalecane)

Zanim przełączysz stronę produkcyjną, przetestuj nową wersję PHP na kopii stagingowej. Większość dużych firm hostingowych udostępnia funkcję stagingu lub subdomenę, której można do tego użyć.

Jeśli staging nie jest dostępny, praktyczną alternatywą jest przełączenie w okresie małego ruchu (późno w nocy) i natychmiastowe obejrzenie najważniejszych stron.

Krok 4: Przełącz wersję PHP w panelu sterowania

Rysunek: Krok 4: Przełącz wersję PHP w panelu sterowania
Rysunek: Krok 4: Przełącz wersję PHP w panelu sterowania

Duzi japońscy dostawcy hostingu współdzielonego (podani tu jako przykłady: Sakura, Xserver, Lolipop, ConoHa WING, mixhost i inni) udostępniają w panelu sterowania menu do przełączania wersji PHP. Typowy przebieg wygląda tak:

  1. Zaloguj się do panelu sterowania hostingu
  2. Otwórz ustawienia domeny lub strony i znajdź menu odpowiadające „PHP settings”, „PHP version” lub „Language version” (ustawienia PHP, wersja PHP, wersja języka)
  3. Wybierz 8.3 lub 8.4 (najnowszą stabilną wersję oferowaną przez Twojego dostawcę) i zapisz / zastosuj
  4. Rozpropagowanie zmiany może potrwać kilka minut

Nazwy menu i kroki różnią się u poszczególnych dostawców. Zawsze postępuj zgodnie z oficjalną instrukcją swojego dostawcy, w której wymienione są też dostępne wersje.

Krok 5: Sprawdź stronę i dziennik błędów

Rysunek: Krok 5: Sprawdź stronę i dziennik błędów
Rysunek: Krok 5: Sprawdź stronę i dziennik błędów

Po przełączeniu potwierdź następujące rzeczy.

  • Strona główna i najważniejsze podstrony wyświetlają się poprawnie w przeglądarce
  • Możesz zalogować się do panelu administracyjnego WordPressa
  • Sprawdź dziennik błędów PHP za pomocą funkcji logów w panelu sterowania lub pod ścieżką ustawioną w error_log. Jeśli widzisz PHP Fatal error lub PHP Deprecated, dana wtyczka lub motyw wymaga uwagi
  • Jeśli coś przestanie działać, od razu wróć do poprzedniej wersji (większość paneli pozwala na natychmiastowe cofnięcie), znajdź przyczynę i spróbuj ponownie

Ukryj numer wersji (po aktualizacji)

Rysunek: Ukryj numer wersji (po aktualizacji)
Rysunek: Ukryj numer wersji (po aktualizacji)

PHP i serwery WWW można skonfigurować tak, aby nie ogłaszały swoich numerów wersji. To tzw. „ukrywanie wersji” — ale ukrycie wersji nie usuwa podatności. Najpierw dokończ aktualizację, a dopiero potem zastosuj to jako środek dodatkowy.

W odwrotnej kolejności skończysz ze „starą wersją z ukrytym numerem”: trudniej ją dostrzec, a rzeczywiste ryzyko pozostaje takie samo.

Usuń nagłówek z wersją PHP (expose_php)

Rysunek: Usuń nagłówek z wersją PHP (expose_php)
Rysunek: Usuń nagłówek z wersją PHP (expose_php)

Dodaj poniższe ustawienie do php.ini lub .htaccess:

; add to php.ini
expose_php = Off

Jeśli Twój dostawca nie pozwala na bezpośrednią edycję php.ini, umieść to samo ustawienie w .user.ini (obsługiwanym przez większość hostingów współdzielonych). Po przeładowaniu (lub odczekaniu, aż zmiana zacznie działać) potwierdź w Site Scouter /server/, że wersja PHP zniknęła z nagłówka X-Powered-By.

Ogranicz nagłówek Server w Apache

Rysunek: Ogranicz nagłówek Server w Apache
Rysunek: Ogranicz nagłówek Server w Apache

Jeśli masz kontrolę nad Apache (VPS lub serwer dedykowany), ustaw w httpd.conf lub apache2.conf:

ServerTokens Prod
ServerSignature Off

ServerTokens Prod zwraca tylko Server: Apache, bez wersji. ServerSignature Off usuwa linię z informacją o serwerze ze stron błędów.

Ogranicz nagłówek Server w nginx

Rysunek: Ogranicz nagłówek Server w nginx
Rysunek: Ogranicz nagłówek Server w nginx

W przypadku nginx dodaj to do bloku http w nginx.conf:

server_tokens off;

nginx zwraca wtedy tylko Server: nginx, bez wersji.

Końcowe sprawdzenie po zmianach

Rysunek: Końcowe sprawdzenie po zmianach
Rysunek: Końcowe sprawdzenie po zmianach

Po zakończeniu aktualizacji i ustawieniu ukrywania wersji sprawdź swoją stronę w sprawdzeniu informacji o serwerze Site Scouter (/server/). Jeśli nagłówki X-Powered-By i Server nie pokazują już numerów wersji, wersja jest niewidoczna z zewnątrz.

Lista kontrolna

Rysunek: Lista kontrolna
Rysunek: Lista kontrolna
  • [ ] Sprawdzono bieżącą wersję PHP w panelu sterowania, w Zdrowiu witryny lub w /server/
  • [ ] Przyjęto do wiadomości, że 8.1 i starsze są EOL, jeśli dotyczy
  • [ ] Odnotowano termin 2026-12-31, jeśli używana jest 8.2
  • [ ] Wykonano kopie zapasowe (baza danych + pliki)
  • [ ] Sprawdzono zgodność WordPressa, motywu i wtyczek
  • [ ] Przełączono PHP na 8.3 lub nowszą (najlepiej 8.4 lub 8.5; najnowszą stabilną wersję oferowaną przez dostawcę)
  • [ ] Potwierdzono, że wersja jest co najmniej równa wydaniom z poprawką dla CVE-2026-109618 / CVE-2026-109619 (8.2.35 / 8.3.36 / 8.4.27 / 8.5.12)
  • [ ] Potwierdzono, że po przełączeniu strona działa, a dziennik błędów jest czysty
  • [ ] Ustawiono expose_php = Off / ServerTokens Prod / server_tokens off (po aktualizacji)
  • [ ] Potwierdzono w /server/, że z zewnątrz nie widać żadnych informacji o wersji

Powiązane artykuły

Rysunek: Powiązane artykuły
Rysunek: Powiązane artykuły

Daty wsparcia opierają się na php.net/supported-versions.php. Przed publikacją potwierdź ponownie najnowsze terminy.

Sprawdź w SiteScouter

Przed zmianą wersji i po niej sprawdź, jakie wersje PHP i serwera oraz jakie nagłówki bezpieczeństwa Twoja strona pokazuje światu. Wystarczy wpisać adres URL; sprawdzenie jest nieinwazyjne i nie wymaga rejestracji.

Użyj: Informacje o serwerze

Źródła

Ostatnio sprawdzono: 2026-10-28. Specyfikacje i zasady mogą się zmieniać; przed podjęciem działań sprawdź źródła pierwotne.

O autorze i kontakt

Yuki Nakazawa (blog osobisty nkzw.jp)

Kontakt: Oficjalna strona / YouTube / Instagram / LinkedIn / X / Telegram

Ten artykuł ma charakter ogólnoinformacyjny i nie stanowi porady prawnej ani profesjonalnej. Liczby opierają się na ciągach wersji ujawnianych przez serwery i stanowią górne granice; nie dowodzą, że jakakolwiek strona jest podatna na wykorzystanie.