Modul 8 · 8.4
Inačice PHP-a 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 i provesti nadogradnju PHP-a te je po potrebi poništiti.
Ključni pojmovi: životni ciklus PHP-a (aktivna podrška, samo sigurnosna ažuriranja, kraj), kompatibilnost WordPressa, teme i dodataka (plugins), zastarjelo (deprecated), upozorenje, kobna pogreška, Zdravlje web-stranice, dnevnik pogrešaka, testno okruženje (staging), vraćanje, prepuštanje nadogradnje stručnjaku
Zašto su inačice PHP-a važne
WordPress, Vaša tema i Vaši dodaci (plugins) 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 pogrešaka i sigurnosnih ispravaka;
- samo sigurnosna ažuriranja: nakon toga još dvije godine samo sigurnosnih ispravaka;
- kraj (end of life): nema više ispravaka, ni za sigurnosne propuste.
Stanje na dan 8. studenoga 2026., prema php.net:
| Inačica | Sigurnosna ažuriranja do | Stanje |
|---|---|---|
| 8.1 i starije | (isteklo) | Nema više ažuriranja |
| 8.2 | 31. prosinca 2026. | Samo sigurnosna ažuriranja, uskoro kraj |
| 8.3 | 31. prosinca 2027. | Samo sigurnosna ažuriranja |
| 8.4 | 31. prosinca 2028. | Aktivna |
| 8.5 | 31. prosinca 2029. | Aktivna |
Web-stranica na inačici bez ažuriranja radi na softveru s poznatim propustima koji se više ne ispravljaju. 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.). Cilj je dakle svake godine pratiti nove inačice, a ne jednom u pet godina napraviti velik skok.
Zašto nadogradnja može nešto pokvariti
Svaka nova inačica PHP-a 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 često u starijim dodacima.
Postoje tri vrste poruka i razlika među njima je važna:
| Poruka | Značenje | Posljedica |
|---|---|---|
| Deprecated (zastarjelo) | „Ovo još radi, ali nestaje u sljedećoj inačici” | Ništa vidljivo; upozorenje za budućnost |
| Warning ili Notice | Nešto nije sasvim u redu | Obično ništa vidljivo, ponekad se neki dio čudno ponaša |
| Fatal error | PHP se zaustavlja | Bijela stranica ili „kritična pogreška” (lekcija 5.4) |
Sam WordPress obično dobro prati nove inačice PHP-a. Rizik su stari dodaci i teme, osobito ako dugo nisu ažurirani ili su izrađeni po mjeri.
Kako pronaći svoju trenutačnu inačicu
- U WordPressu: Alati > Zdravlje web-stranice, kartica Informacije, pod Poslužitelj: inačica PHP-a. Zdravlje web-stranice upozorava i ako je Vaša inačica zastarjela.
- U upravljačkoj ploči hostinga: kod DirectAdmina s CloudLinuxom u Select PHP version (s oznakom "(current)" uz trenutačnu inačicu).
- Ponekad je poslužitelj otkriva u zaglavlju
X-Powered-By: PHP/8.3.x. To je bolje izbjegavati (lekcija 7.4), ali ako je zaglavlje prisutno, inačicu ćete brzo vidjeti.
Pozor: kod mnogih pružatelja hostinga inačica PHP-a vrijedi za Vaš cijeli paket, dakle za sve web-stranice u njemu. Jedna stara web-stranica u istom paketu može Vas kočiti. To je dodatni razlog da stare web-stranice uklonite ili im dodijelite zaseban paket.
Nadogradnja korak po korak
- Najprije ažurirajte. Ažurirajte WordPress, svoju temu i sve dodatke na trenutačnoj inačici PHP-a. Time je velik dio problema već riješen, jer autori prilagođavaju svoj kod novim inačicama PHP-a.
- Provjerite što piše za Vaše dodatke. Na stranici dodatka na wordpress.org navedena je potrebna inačica PHP-a; 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).
- Testirajte u testnom okruženju (staging) (lekcija 8.3). Ako Vaš pružatelj hostinga može dodijeliti drugu inačicu PHP-a po web-stranici, postavite testno okruženje na novu inačicu. Ako to nije moguće (jedna inačica po paketu), testirajte u testnom okruženju u drugom paketu, lokalno ili odaberite mirno razdoblje na produkcijskoj web-stranici, sa starom inačicom spremnom za vraćanje.
- Prebacivanje: odaberite novu inačicu u upravljačkoj ploči. Kod DirectAdmina s CloudLinuxom odaberite je u Select PHP version i kliknite Apply; bez Apply se ništa ne mijenja.
- Odmah provjerite: otvorite web-stranicu i prođite kroz nekoliko stranica, uključujući administraciju, obrazac i (kod web-trgovine) plaćanje. U dnevniku pogrešaka (lekcija 5.4) potražite nove retke
PHP Fatal error. - Proširenja i postavke: kod nekih pružatelja hostinga PHP proširenja i opcije (poput
memory_limit) vezani su uz inačicu. Nakon promjene provjerite jesu li ispravno postavljeni za novu inačicu.
Ako nešto pođe po zlu
- Kobna pogreška: vratite staru inačicu (kod većine pružatelja hostinga to je moguće odmah) kako bi web-stranica ponovno radila. U dnevniku pogrešaka potražite o kojem je dodatku ili temi riječ (putanja je navedena u poruci o pogrešci), ažurirajte ga, zamijenite ili zatražite rješenje od autora. Zatim pokušajte ponovno.
- Samo poruke Deprecated: nema razloga za vraćanje. Ali to je upozorenje: u sljedećoj inačici to može postati pogreška. Zabilježite o kojem je dodatku riječ.
- Kod izrađen po mjeri koji više ne radi: stara web-stranica koju je izradio web-dizajner može sadržavati kod koji više nitko ne održava. Tada taj kod mora prilagoditi netko tko poznaje PHP. Neki pružatelji hostinga, pa tako i WebOké, nude da to učine umjesto Vas.
Nemojte web-stranicu „zauvijek” ostaviti na staroj inačici zato što jedan dodatak ne može pratiti. To je samo odgađanje problema koji iz godine u godinu postaje sve veći.
Više sigurnosti unaprijed
Za one koji žele ići dalje: pomoću alata PHP_CodeSniffer i pravila PHPCompatibilityWP možete provjeriti kod svojih dodataka i tema na dijelove koji ne rade u novijoj inačici PHP-a, bez pokretanja web-stranice. Tako se pronađe mnogo, ali ne sve. Testiranje u testnom okruženju i dalje je potrebno.
U praksi: ovako to izgleda u upravljačkoj ploči
Kao primjer koristimo DirectAdmin s CloudLinuxom. U cPanelu se to često zove MultiPHP Manager ili Select PHP Version, a u Plesku PHP Settings.
- Otvorite Select PHP version (pod Dodatne značajke).
- Kliknite inačicu uz PHP version, odaberite novu inačicu i kliknite Apply.
- Provjerite kartice Extensions i Options za novu inačicu.
- Provjerite web-stranicu i dnevnik pogrešaka. Ako nešto ne radi, odaberite staru inačicu i kliknite Apply.
Sažetak
- Svaka inačica PHP-a dobiva dvije godine aktivne podrške i dvije godine samo sigurnosnih ažuriranja; nakon toga nema više ispravaka. Na dan 8. studenoga 2026. inačica 8.1 više ne dobiva ništa, a 8.2 još do kraja 2026.
- Nadogradnja ponajprije kvari stare dodatke i teme; Deprecated je upozorenje, a 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 ostati na staroj inačici.
- Kod mnogih pružatelja hostinga inačica vrijedi za cijeli paket; uklonite stare web-stranice.
Kviz
Zadatak
Zadatak A8.4: Je li Vaša inačica PHP-a još podržana? U Alati > Zdravlje web-stranice, kartica Informacije, Poslužitelj, pogledajte koju inačicu PHP-a koristi Vaša web-stranica i unesite je zajedno sa svojom domenom. Program uspoređuje inačicu s popisom podržanih inačica na php.net: zeleno za aktivnu podršku, narančasto za samo sigurnosna ažuriranja, crveno ako više nema ažuriranja. Ako Vaš poslužitelj prikazuje inačicu u zaglavlju X-Powered-By, program provjerava i odgovara li ona onoj koju ste unijeli (i javlja da je to zaglavlje bolje sakriti, lekcija 7.4).
Zadatak D8.4: Plan nadogradnje. Napišite plan nadogradnje svoje web-stranice na najnoviju inačicu PHP-a koju nudi Vaš pružatelj hostinga. Navedite: trenutačnu i ciljnu inačicu, koje dodatke i teme imate te podržavaju li ciljnu inačicu (i gdje ste to pročitali), gdje testirate (testno okruženje, drugi paket, lokalno), kako se možete vratiti i kada ćete to provesti. Provedite nadogradnju 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 upravljačkim pločama tvrtke WebOké; u drugim upravljačkim pločama postupak je sličan.
- 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 pogreš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 inačice PHP-a (php.net, na engleskom): https://www.php.net/supported-versions.php
- Inačice PHP-a i WordPressa (make.wordpress.org, na engleskom): https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
