Jak w praktyce zaktualizować PHP: sprawdź, przełącz, zweryfikuj i ukryj wersję
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

Pierwszy krok to wiedza, co faktycznie działa na serwerze. Sposobów sprawdzenia jest kilka; wystarczy dowolny z nich.
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

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)

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”

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

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.


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.

Procedura aktualizacji

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) orazwp-config.php
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)

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

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:
- Zaloguj się do panelu sterowania hostingu
- 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)
- Wybierz 8.3 lub 8.4 (najnowszą stabilną wersję oferowaną przez Twojego dostawcę) i zapisz / zastosuj
- 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

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 widziszPHP Fatal errorlubPHP 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)

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)

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

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

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

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

- [ ] 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

- Opublikowano podatność PHP z oceną CVSS 9.8. Czy świat ją załatał? Co 260,000 stron mówi o zaniedbanych serwerach — stan bezpieczeństwa japońskich stron w świetle wyników badania (blog Yukiego Nakazawy)
- Badanie ekspozycji bezpieczeństwa 2026 Dane z badania i porównanie międzynarodowe dla 260,000 stron w Japonii, krajach G7 i Azji (sitescouter.net)
- Sprawdzenie informacji o serwerze: sitescouter.net/en/server/ Wpisz adres URL, aby zobaczyć nagłówki serwera, wersję PHP i ustawienia bezpieczeństwa widoczne z zewnątrz.
Daty wsparcia opierają się na php.net/supported-versions.php. Przed publikacją potwierdź ponownie najnowsze terminy.
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.
- PHP: Supported Versions (php.net)
- PHP: Runtime Configuration — expose_php (php.net)
- Apache HTTP Server: ServerTokens Directive
- nginx: server_tokens
- WordPress: Site Health
Yuki Nakazawa (blog osobisty nkzw.jp)
Kontakt: Oficjalna strona / YouTube / Instagram / LinkedIn / X / Telegram