# Prečo php -v po aktualizácii ukazuje rovnaké číslo

> php -v ukazuje po aktualizácii rovnaké číslo verzie? Prečo to spôsobujú backporty, kedy je to neškodné, kedy varovný signál a ako to objasníte.

Zdroj: https://phpsos.de/sk/blog/php-v-zeigt-alte-nummer/  
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:** Ak `php -v` po aktualizácii ukazuje rovnakú verziu, ide väčšinou o backport: distribúcia prevezme do svojej existujúcej verzie PHP len bezpečnostnú opravu, číslo zostane rovnaké. Ubuntu 24.04 tak naďalej hlási 8.3.6, hoci je balík proti PHP2Shell opravený. Otázku objasnite cez stav balíka a changelog a navyše skontrolujte, či web skutočne beží s novým kódom.

## Typický okamih po PHP2Shell

Admin nasadil aktualizáciu, všetko bez chýb. Na kontrolu napíše `php -v` a vidí rovnakú verziu ako predtým. Aktualizácia nefungovala? Je server stále otvorený? Táto otázka patrí od 21. októbra 2026 medzi najčastejšie.

Dobrá správa: vo väčšine prípadov je všetko v poriadku. Zlá: existujú aj prípady, keď rovnaké číslo skutočne ukazuje na problém. Tento príspevok pomáha obe rozlíšiť.

## Prečo distribúcie číslo nemenia

Podnikové distribúcie a distribúcie LTS sľubujú stabilitu. V rámci vydania sa má správanie a rozhrania čo najmenej meniť. Skok z PHP 8.3.6 na 8.3.36 by však priniesol početné opravy chýb a drobné zmeny správania, ktoré by mohli aplikácie rušiť.

Mnohí správcovia balíkov preto do svojej existujúcej verzie preberajú len konkrétnu bezpečnostnú opravu. Tento postup sa nazýva backport. Verzia upstream, ktorú PHP samo hlási cez `php -v`, zostáva rovnaká. Mení sa stav balíka, ktorý prideľuje distribúcia.

Na príklade Ubuntu 24.04 to vyzerá takto: PHP hlási 8.3.6. Opravený stav balíka však podľa USN-8948-1 znie `8.3.6-0ubuntu0.24.04.13`. Rozhoduje zadná časť. Debian sa pri PHP2Shell rozhodol inak a pre bookworm a trixie dodal nové verzie upstream 8.2.35 a 8.4.27. Prehľad pre každé vydanie je v príspevku [Debian a Ubuntu: je môj balík PHP zaplátaný?](https://phpsos.de/sk/blog/debian-ubuntu-paket-gepatcht/).

Oplatí sa takú verziu balíka raz rozobrať. Na príklade `8.3.6-0ubuntu0.24.04.13`: časť pred pomlčkou je verzia upstream, teda to, čo hlási samotné PHP. Za ňou nasleduje revízia distribúcie. `ubuntu0.24.04` odkazuje na vydanie, posledné číslo počíta úpravy. Každá bezpečnostná oprava toto číslo zvyšuje. Pri Ubuntu Pro pribúda dodatok ako `+esm5`, pri bezpečnostných aktualizáciách Debianu dodatok ako `~deb12u1`. Kto tieto časti vie čítať, na prvý pohľad pozná, či sa balík po bezpečnostnom hlásení zmenil.

## Kde sa staré číslo všade objavuje

Nezmenené číslo sa neobjavuje len v `php -v`. Nachádza sa aj na miestach, ktoré sú viditeľné zvonka alebo ich vyhodnocujú nástroje:

| Miesto | Čo tam stojí | Následok |
|---|---|---|
| `php -v` a `php -i` | verzia upstream, dátum zostavenia | admini pochybujú o aktualizácii |
| stránka phpinfo | verzia upstream | rovnaký efekt v prehliadači |
| hlavička `X-Powered-By` | verzia upstream, ak je `expose_php` zapnuté | externé skenery hlásia zraniteľnosť |
| hostingové panely ako Plesk | verzia upstream | zobrazenie napríklad 8.2.34 napriek záplate |
| skenery zraniteľností | porovnanie podľa čísla | falošný poplach pri backportoch |

Externé skenery sú osobitný prípad. Kto ich používa, môže po PHP2Shell dostať nálezy pre servery, ktoré sú dávno opravené. Tieto nálezy neignorujte paušálne, ale pre každý server doložte stav balíka a nález poznačte ako skontrolovaný. Ďalší dôvod skrývať údaje o verzii navonok nájdete v príspevku [expose_php a hlavičky servera](https://phpsos.de/sk/blog/expose-php-versionsangaben/).

## Kedy je rovnaké číslo varovným signálom

Existujú tri situácie, v ktorých nezmenené číslo skutočne ukazuje na problém:

1. **Zdroj balíkov dodáva verziu upstream.** Ak PHP pochádza zo zdroja, ktorý normálne dodáva aktuálnu verziu upstream, napríklad Debian pri PHP2Shell alebo externé zdroje ako Remi a sury.org, mala by sa po aktualizácii objaviť 8.5.12, 8.4.27, 8.3.36 alebo 8.2.35. Ak tam stále stojí staré číslo, balík sa neaktualizoval.
2. **Kontrolujete nesprávnu inštaláciu.** `php -v` ukazuje príkazový riadok. Ak web beží cez inú verziu, napríklad z hostingového panela alebo zo Software Collection, výstup o webe nič nehovorí.
3. **Stav balíka sa nezmenil.** Ak je stav balíka rovnaký ako pred aktualizáciou, aktualizácia pre tento balík nedorazila, napríklad preto, že bol zadržaný alebo chýba zdroj.

Pre netechnikov sa to dá zhrnúť takto: číslo verzie opisuje model, stav balíka stav údržby. Dva servery s rovnakou verziou PHP sa môžu v bezpečnosti výrazne líšiť. Neopýtajte sa preto svojho IT alebo dodávateľa na verziu, ale na doklad o záplate.

## Ako to objasníte za päť minút

Nasledujúce príkazy sú čisto čítacie. Príklady vychádzajú z Ubuntu alebo Debianu a PHP 8.3; na systémoch RHEL použite `rpm -q` namiesto `dpkg-query`.

```bash
# 1. Čo hlási samotné PHP, vrátane dátumu zostavenia?
php -v

# 2. Aký stav balíka je nainštalovaný, z akého zdroja?
apt policy php8.3-fpm

# 3. Obsahuje changelog čísla CVE?
apt changelog php8.3-fpm 2>/dev/null | grep -E "CVE-2026-10961[89]"

# 4. Odkedy bežia procesy PHP webu?
ps -eo pid,lstart,cmd | grep "[p]hp-fpm"
```

Dátum zostavenia vo výstupe `php -v` je náznak, nie dôkaz. Spoľahlivý doklad poskytuje záznam v changelogu. Ako ho nájdete a zaznamenáte, ak je formulovaný inak alebo chýba, popisuje príspevok [Doložiť čísla CVE v changelogu balíka](https://phpsos.de/sk/blog/cve-im-changelog-nachweisen/).

> **Tip:**
> Po každej kontrole si poznačte obe čísla: verziu upstream z `php -v` a stav balíka. Kto sa neskôr opýta, prečo má server „stále 8.3.6“, tak dostane jasnú odpoveď.

Všeobecnú kontrolu cez verziu, balík a procesy zhŕňa stránka [Správna kontrola verzie PHP a stavu záplat](https://phpsos.de/sk/php2shell/php-version-pruefen/).

## Ako konkrétne pomáha PHP SOS?

- Pre každý server objasňujeme, či je nezmenené číslo verzie backport, alebo chýbajúca aktualizácia.
- Vyhodnocujeme nálezy zo skenerov zraniteľností a falošné poplachy dokladáme stavom balíka a changelogom.
- Kontrolujeme, ktorú inštaláciu PHP web skutočne používa a či boli jej procesy reštartované.
- V rámci [služby záplatovania PHP](https://phpsos.de/sk/leistungen/php-patch-service/) dokumentujeme verziu upstream a stav balíka vedľa seba.


## Časté otázky

**Je môj server nezaplátaný, ak php -v ukazuje staré číslo?**  
Nie nevyhnutne. Mnohé distribúcie preberajú opravy ako backport do existujúcej verzie. Ubuntu 24.04 napríklad naďalej ukazuje 8.3.6, hoci je balík podľa USN-8948-1 opravený. Rozhodujúce sú stav balíka a changelog.

**Prečo môj bezpečnostný skener napriek aktualizácii hlási zraniteľnosť?**  
Mnohé skenery čítajú len číslo verzie, napríklad z hlavičky X-Powered-By. Pri backportoch to vedie k falošným poplachom. Skontrolujte stav balíka a výsledok zdokumentujte, namiesto aby ste nález jednoducho ignorovali.

**Môže sa stať, že php -v ukazuje nové číslo, ale web nie?**  
Áno. php -v ukazuje príkazový riadok. Web môže bežať cez inú inštaláciu alebo cez procesy, ktoré boli spustené pred aktualizáciou. Skontrolujte preto aj službu FPM alebo Apache a ich čas spustenia.

**Pomôže dátum zostavenia vo výstupe php -v?**  
Je to náznak, nie dôkaz. Dátum zostavenia po 21. októbri 2026 zodpovedá opravenému balíku, nedokazuje však, že oprava je obsiahnutá. Lepším dokladom je záznam v changelogu.

## Zdroje

- [Ubuntu Security Notice USN-8948-1](https://ubuntu.com/security/notices/USN-8948-1)
- [Debian Security Tracker: CVE-2026-109618](https://security-tracker.debian.org/tracker/CVE-2026-109618)
- [php.net: bezpečnostné hlásenia](https://www.php.net/)
