# Správne overenie verzie a stavu záplat PHP

> Overenie verzie PHP správne: ako rozpoznáte stav záplat, backporty distribúcie a bežiace procesy a viete, či je PHP2Shell uzavreté.

Zdroj: https://phpsos.de/sk/php2shell/php-version-pruefen/  
Stav: 25.10.2026  
Poskytovateľ: PHP SOS, Núdzová pomoc pri PHP a bezpečnosť serverov. Okamžitá pomoc cez WhatsApp: https://wa.me/491736494914?text=Dobr%C3%BD%20de%C5%88%2C%20PHP%20SOS%2C%20potrebujeme%20pomoc%20s%20na%C5%A1%C3%ADm%20serverom%20s%20PHP.%20Spolo%C4%8Dnos%C5%A5%3A%20%E2%80%A6%20Web%3A%20%E2%80%A6

**Stručne:** Na overenie verzie PHP nestačí `php -v`. Musíte vedieť, ktorú verziu PHP webový server naozaj používa, či balík obsahuje opravu, aj ako backport so starým číslom, a či sa po aktualizácii reštartovali všetky procesy. PHP2Shell je opravené v 8.5.12, 8.4.27, 8.3.36 a 8.2.35.

## Prečo samotné číslo verzie nestačí

Pre PHP2Shell existuje jasný zoznam opravených verzií. V praxi však k chybným odhadom vedú tri situácie:

- **Viac inštalácií:** Príkazový riadok ukazuje PHP 8.3, web však beží cez pool s PHP 8.1.
- **Backporty:** Distribúcie a poskytovatelia hostingu nasadzujú opravy čiastočne do existujúcich balíkov. Plesk potom napríklad naďalej zobrazuje 8.2.34, hoci je záplatované.
- **Staré procesy:** Nové súbory ležia na disku, bežiaci workeri však pochádzajú ešte spred toho.

Pre vedenie a netechnikov pomáha jednoduché pravidlo: nepýtajte sa iba „Akú verziu PHP máme?“, ale „Je PHP2Shell uzavreté na všetkých serveroch a podľa čoho to vidíme?“. Spoľahlivá odpoveď obsahuje tri doklady: verziu alebo backport, stav balíka a čas reštartu.

Technická kontrola má preto tri kroky: verzia, stav balíka, bežiace procesy. Nižšie uvedené príkazy sú čisto čítacie. Názvy balíkov a služieb sa líšia podľa distribúcie, zdroja PHP a hostingového rozhrania; príklady vychádzajú z PHP 8.3.

## Overenie verzie PHP na príkazovom riadku

```bash
php -v                                  # verzia príkazového riadku
ls /etc/php/ 2>/dev/null                # Debian/Ubuntu: nainštalované vetvy
php-fpm8.3 -v                           # verzia binárky FPM (názov podľa distribúcie)
php -i | grep -E "^PHP Version|Server API|Loaded Configuration File"
```

Pod RHEL, AlmaLinux alebo Rocky sa binárka FPM zvyčajne volá `php-fpm`; pri Software Collections alebo cudzích zdrojoch ležia ďalšie verzie vo vlastných cestách. Plesk a cPanel prinášajú vlastné inštalácie PHP, ktoré existujú popri systémovom PHP. Ako tam postupovať, popisujeme na stránkach o [Plesk](https://phpsos.de/sk/server/plesk/) a cPanel.

Ktorú verziu PHP web vo webovom kontexte používa, vidíte najspoľahlivejšie v konfigurácii poolu alebo VirtualHost, alebo v hostingovom rozhraní. Zobrazí to aj stránka phpinfo; zriaďte ju iba krátko, s ochranou prístupu a náhodným názvom, a hneď potom ju zmažte.

Pri zdieľanom hostingu zvyčajne nemáte prístup na príkazový riadok. Vtedy hostingové rozhranie zobrazuje nastavenú verziu PHP pre každý web. Či bol nasadený backport a vykonaný reštart, tam však len zriedka uvidíte. Spoľahlivou cestou je tu písomné potvrdenie poskytovateľa hostingu.

## Kontrola stavu balíka a backportov

Stav balíka ukazuje, čo vaša distribúcia skutočne dodala:

```bash
# Debian/Ubuntu
apt policy php8.3-fpm
apt changelog php8.3-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619"

# RHEL, AlmaLinux, Rocky, Fedora
dnf info php-fpm
rpm -q --changelog php-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619"
```

Ak je v changelogu niektoré z čísel CVE, backport je v nainštalovanom balíku obsiahnutý. Ak záznam chýba, nie je to ešte dôkaz zraniteľnosti: niektorí správcovia balíkov formulujú changelogy inak. Potom porovnajte verziu balíka s bezpečnostnými hláseniami vašej distribúcie alebo sa opýtajte poskytovateľa. Vzor pre tento dopyt nájdete na stránke [Ako sa opýtať poskytovateľa hostingu na stav záplat](https://phpsos.de/sk/ratgeber/hoster-patch-status-erfragen/).

Dôležité: skontrolujte každý nainštalovaný balík PHP, nielen prvý. Na serveroch s viacerými vetvami je často jedna záplatovaná a iná nie.

## Beží nová verzia aj naozaj?

Aktualizácia je účinná až vtedy, keď sa reštartovali všetky procesy PHP. Porovnajte čas spustenia bežiacich procesov s časom aktualizácie:

```bash
ps -o pid,lstart,cmd -C php-fpm8.3      # čas spustenia procesov FPM
systemctl status php8.3-fpm             # odkedy služba beží
needrestart -r l                        # Debian/Ubuntu, ak je nainštalovaný: zobrazí zastarané procesy
```

Ak je čas spustenia pred aktualizáciou, ešte bežia staré procesy. Pri Apache s mod_php platí to isté pre procesy Apache. Ako čisto reštartovať, popisuje stránka [Reštart PHP-FPM a všetkých workerov](https://phpsos.de/sk/php2shell/php-fpm-neustart/).

> **Tip:**
> Výsledok si zaznamenajte písomne: server, verzia PHP, verzia balíka, CVE v changelogu áno alebo nie, čas reštartu. Túto poznámku potrebujete pre vedenie, poisťovateľa a neskoršiu kontrolu stôp.

## Zaradenie výsledku

| Zistenie | Hodnotenie |
|---|---|
| Oficiálna verzia 8.5.12, 8.4.27, 8.3.36 alebo 8.2.35, procesy reštartované | PHP2Shell uzavreté |
| Staršie číslo, čísla CVE v changelogu balíka, procesy reštartované | backport nasadený, uzavreté |
| Staršie číslo, žiadny záznam v changelogu, žiadne potvrdenie | nejasné, vyjasniť u poskytovateľa |
| PHP 8.1 alebo staršie bez potvrdeného backportu | otvorené, potrebné prechodné opatrenia a migrácia |
| Procesy staršie než aktualizácia | chýba reštart, zraniteľnosť je stále aktívna |

Ak server zostane v stave „nejasné“, zaobchádzajte s ním ako s otvoreným: nastavte prechodné opatrenia a sledujte objasnenie, kým nie je k dispozícii doklad. Úplný prehľad verzií nájdete na stránke [Ktoré verzie PHP sú dotknuté?](https://phpsos.de/sk/php2shell/betroffene-php-versionen/).

## Ako konkrétne pomáha PHP SOS?

Cez [službu záplatovania PHP](https://phpsos.de/sk/leistungen/php-patch-service/) preberáme kontrolu a doklad:

- **Nájsť všetky inštalácie,** aj druhé verzie z hostingových panelov, Software Collections alebo kontajnerov.
- **Posúdiť stav balíka:** oficiálne vydanie, backport alebo otvorené, s dokladom z changelogu alebo od poskytovateľa.
- **Skontrolovať reštart,** kým nebeží už žiadny proces so starým kódom.
- **Vyhotoviť kontrolný protokol,** ktorý môžete použiť interne aj voči tretím stranám.


## Časté otázky

**Prečo php -v zobrazuje inú verziu než môj web?**  
Na mnohých serveroch je nainštalovaných viac verzií PHP. Príkazový riadok používa jednu z nich, webový server alebo pool FPM inú. Preto skontrolujte verziu, ktorá naozaj beží vo webovom kontexte, napríklad cez binárku FPM alebo hostingové rozhranie.

**Ako rozpoznám backport?**  
Pri distribučných balíkoch je oprava často uvedená v changelogu balíka, často s číslom CVE. Pod Debianom a Ubuntu pomôže apt changelog, pod systémami typu RHEL rpm -q --changelog. Ak záznam chýba, vyjasnite stav u poskytovateľa.

**Môžem verziu PHP skontrolovať v zákazníckom menu hostingu?**  
Áno, väčšina rozhraní zobrazuje nastavenú verziu pre každý web. Či bol nasadený backport a vykonaný reštart, tam zvyčajne neuvidíte. Spoľahlivou cestou je písomné potvrdenie od poskytovateľa hostingu.

## Zdroje

- [php.net: bezpečnostné hlásenia](https://www.php.net/)
- [PHP 8 ChangeLog](https://www.php.net/ChangeLog-8.php)
- [php.net: podporované verzie](https://www.php.net/supported-versions.php)
