# Zakaj php -v po posodobitvi kaže isto številko

> php -v po posodobitvi kaže isto številko različice? Zakaj to povzročijo backporti, kdaj je neškodljivo, kdaj opozorilni znak in kako to razjasnite.

Vir: https://phpsos.de/sl/blog/php-v-zeigt-alte-nummer/  
Stanje: 25.10.2026  
Ponudnik: PHP SOS, Nujna pomoč za PHP in varnost strežnikov. Takojšnja pomoč po WhatsAppu: https://wa.me/491736494914?text=Pozdravljeni%2C%20PHP%20SOS%2C%20potrebujemo%20pomo%C4%8D%20z%20na%C5%A1im%20stre%C5%BEnikom%20PHP.%20Podjetje%3A%20%E2%80%A6%20Spletna%20stran%3A%20%E2%80%A6

**Na kratko:** Če `php -v` po posodobitvi kaže isto različico, je vzrok praviloma backport: distribucija v svojo obstoječo različico PHP prevzame samo varnostni popravek, številka ostane enaka. Ubuntu 24.04 tako še naprej javlja 8.3.6, čeprav je paket proti PHP2Shell popravljen. Vprašanje razjasnite prek stanja paketa in changeloga ter dodatno preverite, ali spletna stran res teče z novo kodo.

## Tipičen trenutek po PHP2Shell

Skrbnik je namestil posodobitev, vse brez napak. Za kontrolo vtipka `php -v` in vidi isto različico kot prej. Posodobitev ni delovala? Je strežnik še odprt? To vprašanje je od 21. oktobra 2026 med najpogostejšimi.

Dobra novica: v večini primerov je vse v redu. Slaba: obstajajo tudi primeri, v katerih ista številka dejansko kaže težavo. Ta prispevek pomaga ločiti oboje.

## Zakaj distribucije številke ne spremenijo

Podjetniške distribucije in distribucije LTS obljubljajo stabilnost. Znotraj izdaje naj se vedenje in vmesniki po možnosti ne spreminjajo. Skok s PHP 8.3.6 na 8.3.36 pa bi prinesel številne odprave napak in majhne spremembe vedenja, ki bi lahko motile aplikacije.

Zato mnogi vzdrževalci paketov v svojo obstoječo različico prevzamejo samo konkreten varnostni popravek. Ta postopek se imenuje backport. Različica upstream, ki jo PHP sam javlja prek `php -v`, ostane enaka. Spremeni se stanje paketa, ki ga dodeli distribucija.

Na primeru Ubuntu 24.04 to izgleda takole: PHP javlja 8.3.6. Popravljeno stanje paketa pa se po USN-8948-1 glasi `8.3.6-0ubuntu0.24.04.13`. Šteje zadnji del. Debian se je pri PHP2Shell odločil drugače in je za bookworm in trixie dobavil nove različice upstream 8.2.35 in 8.4.27. Pregled po izdajah je v prispevku [Debian in Ubuntu: je moj paket PHP popravljen?](https://phpsos.de/sl/blog/debian-ubuntu-paket-gepatcht/).

Splača se tako različico paketa enkrat razstaviti. Na primeru `8.3.6-0ubuntu0.24.04.13`: del pred vezajem je različica upstream, torej tisto, kar javlja PHP sam. Za njim sledi revizija distribucije. `ubuntu0.24.04` kaže na izdajo, zadnja številka šteje predelave. Vsak varnostni popravek to številko poveča. Pri Ubuntu Pro se pojavi še dodatek, kot je `+esm5`, pri varnostnih posodobitvah Debiana dodatek, kot je `~deb12u1`. Kdor zna brati te dele, na prvi pogled prepozna, ali je bil paket po varnostnem obvestilu spremenjen.

## Kje se stara številka vse pojavi

Nespremenjena številka se ne pojavi samo v `php -v`. Stoji tudi na mestih, ki so vidna od zunaj ali jih ovrednotijo orodja:

| Mesto | Kaj tam piše | Posledica |
|---|---|---|
| `php -v` in `php -i` | različica upstream, datum gradnje | skrbniki dvomijo o posodobitvi |
| stran phpinfo | različica upstream | enak učinek v brskalniku |
| glava `X-Powered-By` | različica upstream, če je `expose_php` vklopljen | zunanji skenerji javljajo ranljivost |
| panel gostovanja, kot je Plesk | različica upstream | prikaz na primer 8.2.34 kljub popravku |
| skenerji ranljivosti | primerjava po številki | lažni alarm pri backportih |

Zunanji skenerji so poseben primer. Kdor jih uporablja, po PHP2Shell morda dobi najdbe za strežnike, ki so že zdavnaj popravljeni. Teh najdb ne spregledajte pavšalno, ampak za vsak strežnik dokažite stanje paketa in najdbo označite kot preverjeno. Še en razlog, da podatke o različici skrijete navzven, je v prispevku [expose_php in glave strežnika](https://phpsos.de/sl/blog/expose-php-versionsangaben/).

## Kdaj je ista številka opozorilni znak

Obstajajo tri situacije, v katerih nespremenjena številka dejansko kaže na težavo:

1. **Vir paketov dobavlja različico upstream.** Če PHP prihaja iz vira, ki običajno dobavlja aktualno različico upstream, na primer Debian pri PHP2Shell ali viri tretjih ponudnikov, kot sta Remi in sury.org, bi se po posodobitvi moralo pojaviti 8.5.12, 8.4.27, 8.3.36 ali 8.2.35. Če tam še stoji stara številka, paket ni bil posodobljen.
2. **Preverjate napačno namestitev.** `php -v` kaže ukazno vrstico. Če spletna stran teče prek druge različice, na primer iz panela gostovanja ali Software Collection, izpis o spletni strani ne pove nič.
3. **Stanje paketa se ni spremenilo.** Če je tudi stanje paketa enako kot pred posodobitvijo, posodobitev za ta paket ni prispela, na primer ker je bil zadržan ali ker vir manjka.

Za netehnike lahko to povzamemo takole: številka različice opisuje model, stanje paketa pa stanje vzdrževanja. Dva strežnika z isto različico PHP se lahko po varnosti bistveno razlikujeta. Zato svojo IT ali izvajalca ne vprašajte po različici, ampak po dokazilu o popravku.

## Tako vprašanje razjasnite v petih minutah

Naslednji ukazi so zgolj za branje. Primeri izhajajo iz Ubuntuja ali Debiana in PHP 8.3; na sistemih RHEL uporabite `rpm -q` namesto `dpkg-query`.

```bash
# 1. Kaj javlja PHP sam, vključno z datumom gradnje?
php -v

# 2. Katero stanje paketa je nameščeno, iz katerega vira?
apt policy php8.3-fpm

# 3. Ali changelog vsebuje številke CVE?
apt changelog php8.3-fpm 2>/dev/null | grep -E "CVE-2026-10961[89]"

# 4. Od kdaj tečejo procesi PHP spletne strani?
ps -eo pid,lstart,cmd | grep "[p]hp-fpm"
```

Datum gradnje v izpisu `php -v` je namig, a ne dokaz. Zanesljivo dokazilo je vnos v changelogu. Kako ga najdete in zabeležite, če je drugače oblikovan ali manjka, opisuje prispevek [Dokazovanje številk CVE v changelogu paketa](https://phpsos.de/sl/blog/cve-im-changelog-nachweisen/).

> **Nasvet:**
> Po vsakem preverjanju zabeležite obe številki: različico upstream iz `php -v` in stanje paketa. Kdor pozneje vpraša, zakaj ima strežnik „še 8.3.6“, tako dobi jasen odgovor.

Splošno preverjanje prek različice, paketa in procesov povzema stran [Pravilno preverjanje različice PHP in stanja popravkov](https://phpsos.de/sl/php2shell/php-version-pruefen/).

## Kako konkretno pomaga PHP SOS?

- Za vsak strežnik razjasnimo, ali je nespremenjena številka različice backport ali manjkajoča posodobitev.
- Najdbe skenerjev ranljivosti ovrednotimo in lažne alarme dokažemo s stanjem paketa in changelogom.
- Preverimo, katero namestitev PHP spletna stran dejansko uporablja in ali so bili njeni procesi znova zagnani.
- V [storitvi popravkov PHP](https://phpsos.de/sl/leistungen/php-patch-service/) različico upstream in stanje paketa dokumentiramo drugo ob drugi.


## Pogosta vprašanja

**Ali je moj strežnik nepopravljen, če php -v kaže staro številko?**  
Ne nujno. Mnoge distribucije popravke prevzamejo kot backport v obstoječo različico. Ubuntu 24.04 na primer še naprej kaže 8.3.6, čeprav je paket po USN-8948-1 popravljen. Odločilna sta stanje paketa in changelog.

**Zakaj moj varnostni skener kljub posodobitvi javlja ranljivost?**  
Mnogi skenerji berejo samo številko različice, na primer iz glave X-Powered-By. Pri backportih to vodi do lažnih alarmov. Preverite stanje paketa in rezultat dokumentirajte, namesto da bi najdbo preprosto spregledali.

**Ali je mogoče, da php -v kaže novo številko, spletna stran pa ne?**  
Da. php -v kaže ukazno vrstico. Spletna stran lahko teče prek druge namestitve ali prek procesov, zagnanih pred posodobitvijo. Zato preverite tudi storitev FPM ali Apache in njun čas zagona.

**Ali pomaga datum gradnje v izpisu php -v?**  
Je namig, a ne dokaz. Datum gradnje po 21. oktobru 2026 ustreza popravljenemu paketu, vendar ne dokazuje, da je popravek vsebovan. Boljše dokazilo je vnos v changelogu.

## Viri

- [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: varnostna obvestila](https://www.php.net/)
