# Ispravna provjera verzije PHP-a i stanja zakrpe

> Provjera verzije PHP-a, ali ispravno: prepoznajte stanje zakrpe, backportove distribucije i pokrenute procese te saznajte je li PHP2Shell zatvoren.

Izvor: https://phpsos.de/hr/php2shell/php-version-pruefen/  
Stanje: 25.10.2026  
Pružatelj: PHP SOS, PHP hitna pomoć i sigurnost poslužitelja. Hitna pomoć putem WhatsAppa: https://wa.me/491736494914?text=Pozdrav%20PHP%20SOS%2C%20trebamo%20pomo%C4%87%20s%20na%C5%A1im%20PHP%20poslu%C5%BEiteljem.%20Tvrtka%3A%20%E2%80%A6%20Web-stranica%3A%20%E2%80%A6

**Ukratko:** Za provjeru verzije PHP-a nije dovoljno pokrenuti `php -v`. Morate znati koju verziju PHP-a web-poslužitelj zaista koristi, sadrži li paket ispravak, i kao backport sa starim brojem, te jesu li nakon ažuriranja svi procesi ponovno pokrenuti. PHP2Shell je ispravljen u 8.5.12, 8.4.27, 8.3.36 i 8.2.35.

## Zašto sam broj verzije nije dovoljan

Za PHP2Shell postoji jasan popis ispravljenih verzija. U praksi do pogrešne procjene ipak vode tri situacije:

- **Više instalacija:** Naredbeni redak prikazuje PHP 8.3, ali web-stranica radi preko poola s PHP-om 8.1.
- **Backportovi:** Distribucije i pružatelji hostinga ponekad ugrađuju ispravke u postojeće pakete. Tada primjerice Plesk i dalje prikazuje 8.2.34 iako je zakrpano.
- **Stari procesi:** Nove datoteke leže na disku, ali pokrenuti workeri potječu još od prije.

Za upravu i netehničke osobe pomaže jednostavno pravilo: ne pitajte samo „Koju verziju PHP-a imamo?“, nego „Je li PHP2Shell zatvoren na svim poslužiteljima i po čemu to vidimo?“. Pouzdan odgovor sadrži tri dokaza: verziju ili backport, stanje paketa i trenutak ponovnog pokretanja.

Tehnička provjera zato ima tri koraka: verzija, stanje paketa, pokrenuti procesi. Naredbe u nastavku su isključivo čitajuće. Nazivi paketa i usluga razlikuju se po distribuciji, izvoru PHP-a i hosting sučelju; primjeri polaze od PHP-a 8.3.

## Provjera verzije PHP-a u naredbenom retku

```bash
php -v                                  # verzija naredbenog retka
ls /etc/php/ 2>/dev/null                # Debian/Ubuntu: instalirane grane
php-fpm8.3 -v                           # verzija FPM binarne datoteke (naziv ovisi o distribuciji)
php -i | grep -E "^PHP Version|Server API|Loaded Configuration File"
```

Na RHEL-u, AlmaLinuxu ili Rockyju FPM binarna datoteka obično se zove `php-fpm`; kod Software Collections ili vanjskih izvora dodatne verzije leže u vlastitim putanjama. Plesk i cPanel donose vlastite PHP instalacije koje postoje uz sistemski PHP. Kako tamo postupiti, opisujemo na stranicama za [Plesk](https://phpsos.de/hr/server/plesk/) i cPanel.

Koju verziju PHP-a web-stranica koristi u web kontekstu, najpouzdanije vidite u konfiguraciji poola ili VirtualHosta ili u hosting sučelju. Prikazuje je i phpinfo stranica; postavite je samo nakratko, sa zaštitom pristupa i slučajnim imenom te je odmah nakon toga obrišite.

Na shared hostingu obično nemate pristup naredbenom retku. Tada hosting sučelje prikazuje postavljenu verziju PHP-a po web-stranici. Je li backport ugrađen i ponovno pokrenut, tamo se rijetko vidi. Ovdje je pouzdan put pisana potvrda pružatelja hostinga.

## Provjera stanja paketa i backportova

Stanje paketa pokazuje što je Vaša distribucija zaista isporučila:

```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"
```

Ako je jedan od CVE brojeva u changelogu, backport je sadržan u instaliranom paketu. Ako unosa nema, to još nije dokaz ranjivosti: neki održavatelji paketa drukčije formuliraju changelogove. Tada usporedite verziju paketa sa sigurnosnim objavama Vaše distribucije ili pitajte pružatelja. Predložak za taj upit pronaći ćete na stranici [Kako pitati pružatelja hostinga za stanje zakrpe](https://phpsos.de/hr/ratgeber/hoster-patch-status-erfragen/).

Važno: provjerite svaki instalirani PHP paket, a ne samo prvi. Na poslužiteljima s više grana često je jedna zakrpana, a druga nije.

## Radi li nova verzija doista?

Ažuriranje djeluje tek kad su svi PHP procesi ponovno pokrenuti. Usporedite vrijeme pokretanja pokrenutih procesa s trenutkom ažuriranja:

```bash
ps -o pid,lstart,cmd -C php-fpm8.3      # vrijeme pokretanja FPM procesa
systemctl status php8.3-fpm             # otkad usluga radi
needrestart -r l                        # Debian/Ubuntu, ako je instaliran: prikazuje zastarjele procese
```

Ako je vrijeme pokretanja prije ažuriranja, još rade stari procesi. Kod Apachea s mod_php isto vrijedi za Apache procese. Kako ispravno ponovno pokrenuti, opisuje [Ponovno pokretanje PHP-FPM-a i svih workera](https://phpsos.de/hr/php2shell/php-fpm-neustart/).

> **Savjet:**
> Rezultat zabilježite pisano: poslužitelj, verzija PHP-a, verzija paketa, CVE u changelogu da ili ne, trenutak ponovnog pokretanja. Ta bilješka treba Vam za upravu, osiguravatelja i kasniju provjeru tragova.

## Procjena rezultata

| Nalaz | Ocjena |
|---|---|
| Službena verzija 8.5.12, 8.4.27, 8.3.36 ili 8.2.35, procesi ponovno pokrenuti | PHP2Shell zatvoren |
| Starija oznaka, CVE brojevi u changelogu paketa, procesi ponovno pokrenuti | Backport ugrađen, zatvoreno |
| Starija oznaka, nema unosa u changelogu, nema potvrde | nejasno, razjasniti kod pružatelja |
| PHP 8.1 ili stariji bez potvrđenog backporta | otvoreno, potrebne su privremene mjere i migracija |
| Procesi stariji od ažuriranja | nedostaje ponovno pokretanje, ranjivost je i dalje aktivna |

Ako poslužitelj ostane u stanju „nejasno“, tretirajte ga kao otvorenog: postavite privremene mjere i pratite razjašnjenje dok ne postoji dokaz. Cjelovit pregled verzija je na stranici [Koje su verzije PHP-a pogođene?](https://phpsos.de/hr/php2shell/betroffene-php-versionen/).

## Kako PHP SOS konkretno pomaže?

Uz [uslugu PHP zakrpe](https://phpsos.de/hr/leistungen/php-patch-service/) preuzimamo provjeru i dokaz:

- **Pronaći sve instalacije,** i druge verzije iz hosting panela, Software Collections ili kontejnera.
- **Ocijeniti stanje paketa:** službeno izdanje, backport ili otvoreno, s dokazom iz changeloga ili od pružatelja.
- **Kontrolirati ponovno pokretanje** dok više ne radi nijedan proces sa starim kodom.
- **Izraditi protokol provjere** koji možete koristiti interno i prema trećim stranama.


## Česta pitanja

**Zašto php -v prikazuje drugu verziju od moje web-stranice?**  
Na mnogim poslužiteljima instalirano je više verzija PHP-a. Naredbeni redak koristi jednu, web-poslužitelj ili FPM pool drugu. Zato provjerite verziju koja stvarno radi u web kontekstu, primjerice putem FPM binarne datoteke ili hosting sučelja.

**Kako prepoznajem backport?**  
Kod paketa distribucija ispravak je često u changelogu paketa, često s CVE brojem. Na Debianu i Ubuntuu pomaže apt changelog, na sustavima tipa RHEL rpm -q --changelog. Ako unosa nema, razjasnite stanje kod pružatelja.

**Mogu li verziju PHP-a provjeriti u izborniku klijenta hostinga?**  
Da, većina sučelja prikazuje postavljenu verziju po web-stranici. Je li backport ugrađen i ponovno pokrenut, tamo obično ne vidite. Za to je pouzdan put pisana potvrda pružatelja hostinga.

## Izvori

- [php.net: sigurnosne objave](https://www.php.net/)
- [PHP 8 ChangeLog](https://www.php.net/ChangeLog-8.php)
- [php.net: podržane verzije](https://www.php.net/supported-versions.php)
