# PHP 8.1 i starije: nadogradnja na podržanu verziju

> Nadogradnja s PHP-a 8.1 bez slijepog leta: provjeravamo aplikacije, testiramo na kopiji, migriramo na podržanu verziju PHP-a i osiguravamo prijelazno razdoblje.

Izvor: https://phpsos.de/hr/leistungen/php-migration-legacy/  
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:** Tko još koristi PHP 8.1 ili stariji, od PHP projekta više ne dobiva službena sigurnosna ažuriranja, pa ni za PHP2Shell. Nadogradnja s PHP-a 8.1 na podržanu verziju stoga nije dodatak, nego pravo rješenje. Provjeravamo Vaše aplikacije, testiramo na kopiji, kontrolirano migriramo i osiguravamo vrijeme do tada.

## Zašto su PHP 8.1 i starije sada akutan rizik

Ranjivosti PHP2Shella CVE-2026-109618 i CVE-2026-109619 omogućuju izvršavanje koda bez prijave. Ispravljene su u PHP-u 8.5.12, 8.4.27, 8.3.36 i 8.2.35. Za PHP 8.1 i starije više nema službenih ažuriranja, samo minimalnih backportova izvornog koda za 7.4, 8.0 i 8.1. Prema stručnom tisku pogođene su gotovo sve verzije sve do PHP-a 5.4.

Neke distribucije i pružatelji hostinga ugrađuju vlastite backportove. Spada li Vaš sustav među njih, pružatelj mora potvrditi za Vaše konkretno stanje paketa. Bez te potvrde trebali biste pretpostaviti da je poslužitelj otvoren. Što to znači pojedinačno, opisuje [PHP 8.1 i starije: što sada vrijedi](https://phpsos.de/hr/php2shell/php-8-1-und-aelter/).

## Nadogradnja s PHP-a 8.1: koja ciljna verzija?

Cilj bi trebala biti verzija koju PHP projekt još podržava i koju Vaša aplikacija odobrava. Aktualno stanje podrške php.net objavljuje na stranici podržanih verzija. PHP 8.2 završava 31. 12. 2026.; prelazak na 8.2 bio bi dakle samo međukorak s uskoro novim projektom.

Koju verziju PHP-a podržava Vaš CMS ili shop sustav, provjeravamo prema sistemskim zahtjevima proizvođača, primjerice na wordpress.org, shopware.com ili typo3.org, a ne napamet. Često se prvo mora ažurirati sam CMS. Stari shopovi tipičan su slučaj, vidi [Shopware 5: stari shopovi na staroj verziji PHP-a](https://phpsos.de/hr/plattformen/shopware-5/).

## Kako PHP SOS konkretno pomaže?

1. **Popis stanja i osiguravanje:** Bilježimo sve aplikacije, njihovu verziju PHP-a, stanje CMS-a, proširenja i vlastiti kod. Paralelno postavljamo privremene mjere prema php.net-u kako bi rizik do migracije pao; pojedinosti u [WAF i virtualno zakrpanje](https://phpsos.de/hr/leistungen/waf-virtuelles-patching/).
2. **Provjeriti kompatibilnost:** Uspoređujemo sistemske zahtjeve proizvođača, provjeravamo ovisnosti pomoću Composera i u vlastitom kodu tražimo zastarjele funkcije. Kako to izgleda kod ovisnosti, opisuje [Provjera Composer ovisnosti na ranjivosti](https://phpsos.de/hr/ratgeber/composer-abhaengigkeiten-pruefen/).
3. **Test na kopiji:** Aplikacija prvo radi u testnom okruženju s novom verzijom PHP-a. Pogreške tamo otklanjamo ili ih dokumentiramo za Vašu agenciju.
4. **Prelazak s povratnim putem:** Prelazak na živi sustav provodi se u dogovorenom prozoru za održavanje s aktualnom sigurnosnom kopijom i utvrđenim povratnim putem.
5. **Naknadna kontrola:** Nakon prelaska provjeravamo zapisnike pogrešaka i središnje funkcije te uklanjamo staru verziju PHP-a kad više nije potrebna.

Neopasan pogled na to koje web-stranice koriste koju verziju PHP-a na mnogim je sustavima moguć putem pokrenutih FPM poolova:

```bash
# prikazati pokrenute PHP-FPM master procese i poolove
ps -eo pid,cmd | grep -E "php-fpm: (master|pool)" | grep -v grep
# instalirane verzije PHP-a (Debian/Ubuntu)
ls /etc/php/
```

> **Važno:**
> Nadogradnja na novu verziju PHP-a ne uklanja zlonamjerni softver koji je prije ubačen. Ako je poslužitelj od 17. 10. 2026. bio nezaštićen na mreži, tu spada i provjera tragova.

## Tipični kamenovi spoticanja pri nadogradnji

Većina problema pri promjeni verzije PHP-a predvidljiva je ako se zna gdje tražiti:

- **Zastarjela proširenja:** dodaci ili moduli koji se više ne održavaju često ne rade na novijim verzijama PHP-a. Za njih treba zamjena ili prilagodba.
- **Vlastiti kod:** funkcije koje je PHP u međuvremenu označio zastarjelima ili uklonio dovode do upozorenja ili prekida. Stroža provjera tipova otkriva stare programske pogreške.
- **Ovisnosti:** biblioteke uključene putem Composera ponekad same traže nove verzije i povlače dodatne promjene.
- **PHP proširenja na poslužitelju:** nije svako proširenje koje je bilo instalirano uz staru verziju automatski prisutno za novu.
- **Cron poslovi i naredbeni redak:** web-stranica već radi na novoj verziji, ali planirani zadaci još pozivaju staru verziju PHP-a.

Tko te točke provjeri unaprijed, skraćuje prelazak i izbjegava iznenađenja u živom radu.

## Što dobivate i što trebamo

Dobivate pregled svih aplikacija s polaznom i ciljnom verzijom, plan migracije s redoslijedom i rizicima, protokol testiranja, dokumentaciju prelaska i popis točaka koje Vaša agencija ili programer još moraju obaviti.

Od Vas trebamo:

- **Pristup poslužitelju ili panelu** i pristup administracijama CMS-a
- **pristup izvornom kodu i repozitoriju** kod vlastitih razvoja
- **kontakt s agencijom ili programerom** koji poznaju aplikaciju
- **testno okruženje** ili odobrenje da se izradi
- **prozor za održavanje** i kontakt osobu za prihvaćanje

## Što ne obećavamo

Ne obećavamo da će svaka stara aplikacija bez promjena raditi na novoj verziji PHP-a. Kod sustava bez daljnjeg razvoja može biti potrebna veća preinaka ili zamjena; to otvoreno kažemo čim se pokaže. Izjave o kompatibilnosti temeljimo na podacima proizvođača. A privremene mjere nisu zamjena za migraciju, nego samo premošćuju vrijeme. Dugoročne rizike zastarjelih verzija opisuje [PHP End of Life: rizici zastarjelih verzija](https://phpsos.de/hr/ratgeber/php-end-of-life-risiken/).


## Česta pitanja

**Pogađa li PHP2Shell PHP 8.1?**  
Prema stručnom tisku pogođene su gotovo sve verzije sve do PHP-a 5.4. Za PHP 8.1 i starije PHP projekt ne izdaje službena ažuriranja, samo minimalne backportove izvornog koda za 7.4, 8.0 i 8.1. Neke distribucije ugrađuju vlastite backportove, to mora potvrditi dotični pružatelj.

**Na koju verziju PHP-a trebam nadograditi?**  
Na verziju koju PHP projekt još aktivno podržava i koju Vaša aplikacija prema sistemskim zahtjevima proizvođača odobrava. PHP 8.2 doseže kraj podrške 31. 12. 2026. i stoga je kao cilj smislen samo uvjetno.

**Ne mogu li jednostavno promijeniti verziju PHP-a u hosting panelu?**  
Tehnički se to često može jednim klikom. Hoće li aplikacija nakon toga raditi, ovisi o verziji CMS-a, proširenjima i vlastitom kodu. Bez testa riskirate ispade ili neispravne funkcije, primjerice na blagajni shopa.

**Što ako moj CMS ne podržava novu verziju PHP-a?**  
Tada se prvo mora ažurirati CMS, eventualno na novu glavnu verziju. Kod sustava bez daljnjeg razvoja može biti potrebna zamjena. Do tada poslužitelj osiguravamo privremenim mjerama.

## Izvori

- [php.net: podržane verzije](https://www.php.net/supported-versions.php)
- [php.net: sigurnosne objave](https://www.php.net/)
- [PHP 8 ChangeLog](https://www.php.net/ChangeLog-8.php)
- [TechTarget: PHP2Shell, 22M exposed servers at risk](https://www.techtarget.com/cybersecurity/news/366652444/PHP2Shell-22M-exposed-servers-at-risk-as-emergency-patches-released)
