Modul 8 · 8.4
PHP inačice i nadogradnje
Modul 8: Sigurnosne kopije, testno okruženje (staging) i PHP nadogradnje · Vrijeme čitanja: 10 minuta
Cilj učenja: Nakon ove lekcije moći ćete sigurno pripremiti, provesti i po potrebi vratiti PHP nadogradnju.
Ključni pojmovi: životni ciklus PHP-a (aktivna podrška, samo sigurnost, kraj), kompatibilnost WordPressa, teme i dodataka, zastarjelo (deprecated), upozorenje, fatalna pogreška, Zdravlje web-stranice, dnevnik pogrešaka (error log), testno okruženje (staging), vraćanje, prepuštanje nadogradnje drugima
Zašto su PHP inačice važne
WordPress, Vaša tema i Vaši dodaci napisani su u PHP-u (lekcija 1.2). Svake godine izlazi nova inačica PHP-a (8.3, 8.4, 8.5, ...). Svaka se inačica održava određeno vrijeme:
- aktivna podrška: dvije godine ispravaka grešaka i sigurnosnih popravaka;
- samo sigurnost: nakon toga još dvije godine samo sigurnosnih popravaka;
- kraj (end of life): više nema popravaka, čak ni za sigurnosne propuste.
Stanje na dan 8. studenog 2026., prema php.net:
| Inačica | Sigurnosne nadogradnje do | Stanje |
|---|---|---|
| 8.1 i starije | (isteklo) | Više nema nadogradnji |
| 8.2 | 31. prosinca 2026. | Samo sigurnost, blizu kraja |
| 8.3 | 31. prosinca 2027. | Samo sigurnost |
| 8.4 | 31. prosinca 2028. | Aktivna |
| 8.5 | 31. prosinca 2029. | Aktivna |
Web-stranica na inačici bez nadogradnji radi na softveru s poznatim sigurnosnim propustima koji se više ne popravljaju. Osim toga, novije su inačice primjetno brže (lekcija 6.3). A wordpress.org preporučuje PHP 8.3 ili noviji (stanje u studenom 2026.). Dakle, ideja je pratiti svaku godinu, a ne jednom u pet godina napraviti veliki skok.
Zašto nadogradnja nešto može pokvariti
Svaka nova PHP inačica nešto mijenja. Funkcije koje su godinama bile označene kao zastarjele (deprecated) uklanjaju se, a pravila postaju stroža. Nekoliko poznatih primjera:
- PHP 8.0 uklonio je, među ostalim,
create_function()ieach(), a mnoga su upozorenja postala pogreške; - PHP 8.2 označio je dinamičko stvaranje svojstava na objektima kao zastarjelo, što je vrlo uobičajeno u starijim dodacima.
Postoje tri vrste poruka, a razlika je važna:
| Poruka | Značenje | Posljedica |
|---|---|---|
| Deprecated (zastarjelo) | "Ovo još radi, ali nestat će u sljedećoj inačici" | Ništa vidljivo; upozorenje za budućnost |
| Warning ili Notice | Nešto nije posve u redu | Obično ništa vidljivo, ponekad neki dio čudno radi |
| Fatal error | PHP se zaustavlja | Bijela stranica ili "kritična pogreška" (lekcija 5.4) |
Sam WordPress obično dobro prati nove PHP inačice. Rizik je u starim dodacima i temama, osobito ako dugo nisu ažurirani ili su izrađeni po mjeri.
Pronalaženje trenutačne inačice
- U WordPressu: Alati > Zdravlje web-stranice, kartica Info, pod Poslužitelj: PHP inačica. Zdravlje web-stranice upozorava i ako je Vaša inačica zastarjela.
- U Vašoj kontrolnoj ploči za hosting: u DirectAdminu s CloudLinuxom u Select PHP version (s oznakom "(current)" iza trenutačne inačice).
- Ponekad poslužitelj to otkriva u zaglavlju
X-Powered-By: PHP/8.3.x. Bolje da ne stoji (lekcija 7.4), ali ako stoji, lako se vidi.
Napomena: kod mnogih hostera PHP inačica vrijedi za Vaš cijeli paket, dakle za sve web-stranice u njemu. Stara web-stranica u istom paketu može Vas usporiti. To je dodatan razlog da počistite stare web-stranice ili im date zaseban paket.
Nadogradnja: korak po korak
- Prvo ažurirajte. Ažurirajte WordPress, Vašu temu i sve dodatke na trenutačnoj PHP inačici. Time je velik dio problema već riješen, jer izrađivači prilagođavaju svoj kod novim PHP inačicama.
- Provjerite što Vaši dodaci kažu. Na stranici dodatka na wordpress.org navedena je potrebna PHP inačica; u popisu promjena (changelog) često piše "compatible with PHP 8.x". Dodatak koji godinama nije ažuriran (lekcija 5.3) kandidat je za zamjenu.
- Izradite sigurnosnu kopiju (lekcija 8.1).
- Testiranje u testnom okruženju (staging) (lekcija 8.3). Ako Vam hoster može dati drugu PHP inačicu po web-stranici, postavite testno okruženje na novu inačicu. Ako to nije moguće (jedna inačica po paketu), testirajte na testnom okruženju u drugom paketu, lokalno, ili odaberite miran trenutak na produkciji sa starom inačicom spremnom za vraćanje.
- Prebacivanje: odaberite novu inačicu u Vašoj kontrolnoj ploči. U DirectAdminu s CloudLinuxom odaberite je u Select PHP version i kliknite na Apply; bez Apply ništa se neće promijeniti.
- Odmah provjerite: otvorite svoju web-stranicu i prođite nekoliko stranica, uključujući administraciju, obrazac i (kod web-trgovine) naplatu. Pogledajte u dnevniku pogrešaka (lekcija 5.4) ima li novih redaka
PHP Fatal error. - Proširenja i postavke: kod nekih hostera PHP proširenja i opcije (poput
memory_limit) vezane su uz inačicu. Nakon promjene provjerite jesu li ispravno postavljene za novu inačicu.
Ako nešto pođe po zlu
- Fatalna pogreška: vratite staru inačicu (kod većine hostera to je moguće odmah) kako bi Vaša web-stranica ponovno radila. U dnevniku pogrešaka potražite koji je dodatak ili tema bio uzrok (putanja se nalazi u poruci pogreške), ažurirajte ga, zamijenite ga ili zatražite rješenje od izrađivača. Zatim pokušajte ponovno.
- Samo poruke deprecated: nema razloga za vraćanje. No to je upozorenje: u sljedećoj inačici to može postati pogreška. Zabilježite o kojem je dodatku riječ.
- Prilagođeni kod koji više ne radi: stara web-stranica koju je izradio izrađivač web-stranica može sadržavati kod koji nitko više ne održava. Taj kod tada mora prilagoditi netko tko poznaje PHP. Neki hosteri, uključujući WebOké, nude da to učine umjesto Vas.
Nemojte web-stranicu "zauvijek" zadržati na staroj inačici samo zato što jedan dodatak ne prati promjene. To je samo odgađanje problema koji svake godine raste.
Veća sigurnost unaprijed
Za one koji žele dalje: pomoću PHP_CodeSniffer i pravila PHPCompatibilityWP možete provjeriti kod svojih dodataka i tema na stvari koje ne rade u novijoj PHP inačici, bez pokretanja web-stranice. To pronalazi mnogo, ali ne sve. Testiranje u testnom okruženju i dalje je potrebno.
U praksi: ovako to izgleda u kontrolnoj ploči
Kao primjer koristimo DirectAdmin s CloudLinuxom. U cPanelu to se često zove MultiPHP Manager ili Select PHP Version, u Plesku PHP Settings.
- Otvorite Select PHP version (pod Extra Features).
- Kliknite na inačicu kod PHP version, odaberite novu inačicu i kliknite na Apply.
- Provjerite kartice Extensions i Options za novu inačicu.
- Provjerite svoju web-stranicu i dnevnik pogrešaka. Ako nešto ne radi, odaberite staru inačicu i Apply.
Sažetak
- Svaka PHP inačica dobiva dvije godine aktivne podrške i dvije godine samo sigurnosne podrške; nakon toga nema više popravaka. Na dan 8. studenog 2026. inačica 8.1 više neće dobivati ništa, a 8.2 još do kraja 2026.
- Nadogradnja najčešće pokvari stare dodatke i teme; deprecated je upozorenje, fatal error zaustavlja web-stranicu.
- Redoslijed: sve ažurirati, provjeriti dodatke, sigurnosna kopija, testiranje u testnom okruženju, prebacivanje, odmah provjeriti.
- Ako nešto pođe po zlu, vratite staru inačicu, pronađite krivca u dnevniku pogrešaka i riješite problem; nemojte zauvijek ostati na staroj inačici.
- Kod mnogih hostera inačica vrijedi za cijeli paket; počistite stare web-stranice.
Kviz
Zadatak
Zadatak A8.4: Je li Vaša inačica PHP-a još podržana? Pogledajte u Alati > Zdravlje web-stranice (kartica Info, Poslužitelj) koju PHP inačicu koristi Vaša web-stranica i unesite je, zajedno s Vašom domenom. Program uspoređuje inačicu s popisom podržanih inačica na php.net: zeleno za aktivnu podršku, narančasto za samo sigurnost, crveno ako više nema nadogradnji. Ako Vaš poslužitelj prikazuje inačicu u zaglavlju X-Powered-By, program provjerava i odgovara li to onome što ste unijeli (te javlja da je bolje sakriti to zaglavlje, lekcija 7.4).
Zadatak D8.4: Plan nadogradnje. Napišite plan za nadogradnju Vaše web-stranice na najnoviju PHP inačicu koju Vaš hoster nudi. Navedite: trenutačnu i ciljnu inačicu, koje dodatke i teme imate i podržavaju li ciljnu inačicu (s navodom gdje ste to pročitali), gdje testirate (testno okruženje, drugi paket, lokalno), kako se možete vratiti i kada to provodite. Izvedite to ako možete i zabilježite što se pojavilo u dnevniku pogrešaka.
Zadatak D8.4: Plan nadogradnje
Ovaj zadatak rješavate sami; nitko ga ne provjerava. Označite što ste napravili i označite zadatak kao završen.
Odaberite ciljnu verziju s aktivnom podrškom (ili barem sa sigurnosnim ažuriranjima) i navedite za svaki dodatak izvor (stranicu dodatka, changelog, Sitediagnose).
Vaše kvačice i bilješke ostaju samo u ovom pregledniku; ne šaljemo ih nikamo. Ako ste prijavljeni, u Moji tečajevi čuvamo samo podatak da ste zadatak završili.
Dodatno čitanje
Ovi članci opisuju korake u kontrolnim pločama WebOké; u drugim kontrolnim pločama rade na sličan način.
- DirectAdmin priručnik 14.1: Odabir PHP verzije (Select PHP version)
- DirectAdmin priručnik 14.6: Greške nakon nadogradnje PHP-a i pronalaženje Error loga
- Promjena PHP verzije i PHP postavki (i što učiniti u slučaju grešaka nakon nadogradnje)
- DirectAdmin priručnik 14.2: PHP-ekstenzije: uključivanje i isključivanje
- Priručnik za WebOké 6.11: Nadogradnju PHP-a prepustite nama
- Podržane PHP inačice (php.net, engleski): https://www.php.net/supported-versions.php
- PHP i WordPress inačice (make.wordpress.org, engleski): https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
