Korišćenje PHP verzije 5 će postati nebezbedno od januara 2019.
WordPress, Joomla, Drupal i mnogi drugi popularni CMS-ovi napisani su na programskom PHP jeziku.
PHP verzija 5.X će prestati sa daljim razvojem i podrškom, odnosno prestaće sa pravljenjem novih bezbednosnih ispravki od 1. januara 2019.
Mnogi WordPress, Joomla, Drupal i drugi PHP web sajtovi danas koriste PHP verziju 5.6 ili stariju, zbog čega želimo da korisnicima BeotelNetovih hosting paketa skrenemo pažnju, i sugerišemo da na vreme pređu na novu verziju PHP 7.
Statistika korišćenja verzija PHP-a
Tabela ispod prikazuje u kom procentu web sajtovi koriste različite verzija PHP-a.
PHP verziju 5 koristi 75.2% svih web sajtova na Interenetu, koji koriste PHP.
Version 5 . . . . . . . . 75.2%
Version 7 . . . . . . . . 24.1%
Version 4 . . . . . . . . 0.6%
Version 3 . . . . . . . .Manje od 0.1%
*Izvor – W3Techs.com, Decembar 2018
Kada prestane podrška za PHP 5, web sajtovi koji koriste ovu verziju PHP-a će biti u nezgodnoj situaciji, postaće ranjivi i nebezbedni jer više neće biti novih bezbednosnih ispravki/zakrpa za PHP verziju 5.
U daljem tekstu se nalaze pitanja i odgovori u vezi End-Of-Life ili ‘EOL’ PHP verzije 5, gde možete pronaći informacije šta i kako možete uraditi u vezi sa prelaskom na novu verziju.
Hoće li PHP verzija 5 uskoro biti EOL?
Da, PHP verzija 5 će biti proglašena End-of-Life 1. januara 2019. godine, što je za nekoliko nedelja.
Politika razvojnog tima PHP-a u vezi sa prestankom daljeg razvoja neke verzije PHP-a (End-of-Life) je da se svaka verzija PHP-a u potpunosti podržava dve godine od datuma njenog objavljivanja. Nakon toga, podrška traje još godinu dana, za kritična pitanja u vezi bezbednosti. Nakon tri godine od datuma objavljivanja, verzija PHP-a više nije podržana, i prestaje dalji razvoj i podrška.
Prva verzija PHP-a 7 objavljena je 3. decembra 2015. godine, pre skoro tri godine.
PHP verzija 5 se brzo približava „penziji“ (EOL), i neće više biti podržana od 1. januara 2019. godine.
Poslednja verzija PHP-a 5, koja je još uvek podržana je PHP 5.6. S obzirom na to da je ovo poslednja verzija PHP 5, PHP-ov razvojni tim je odlučio da produži period podrške sa uobičajenih godinu dana, na dve godine.
Ta produžena podrška zbog bezbednosti se završava 1. januara 2019.
Tabela ispod sadrži važne datume za PHP 5 i PHP 7 verzije. Ovu tabelu možete naći na ovoj stranici na veb lokaciji PHP-a (http://php.net/supported-versions.php).
Podržane verzije – tabela
Šta znači End-Of-Life ili ‘EOL’
Kada softverski proizvod dođe do EOL, proizvođač više ne daje podršku za određenu verziju softvera. To praktično znači, da čak i ako neko pronađe „sigurnosnu rupu“ u softveru, razvojni tim to neće dalje ispravljati.
Svaki razvojni tim nekog softvera objavljuje nove verzije softvera na kome radi. Vremenom postaje nepraktično i neisplativo davati podršku za sve verzije softvera (koda) koji je ranije objavljen.
Zato se mora napraviti kompromis. Ovaj kompromis znači da će razvojni tim samo određeno vreme davati podršku za određenu, stariju verziju softvera. Nakon određenog vremena podrške za neku verziju, razvojni tim korisnicima uvek sugeriše da pređu na noviju verziju softvera, koja po pravilu nudi nove funkcionalnosti, veću sigurnost, i punu podršku.
Da li je PHP 5 bezbedan ili ne?
Sigurnosne ranjivosti se kontinuirano prijavljuju razvojnom timu PHP-a. Neke od njih su ozbiljne.
Na stranici CVEDetails.com možete naći informacije o količini i važnosti ranjivosti koje su do sada prijavljene PHP timu.
Mnogo ranjivosti je otkriveno i prijavljeno je PHP timu tokom ove godine. Još više će biti otkriveno za PHP verziji 5 sledeće godine, nakon što se prestane sigurnosna podrška za sve verzije PHP-a 5.
Zato je važno što pre preći na verziju PHP 7, koja je podržana, i za koju postoje sigurnosne ispravke.
Zašto da pređem na PHP verziju 7?
Kao što smo već pomenuli, PHP 5 više neće biti podržan sa sigurnosnim ispravkama, od 1. januara 2019. To znači da iako je otkrivena neka ranjivost, neće biti popravljena, ostavljajući vaš web sajt ili web aplikaciju ranjivom i nebezbednom.
PHP 7 ima mnoga poboljšanja u odnosu na PHP verziju 5, uključujući i značajna poboljšanja performansi. Sa druge strane, PHP 5 ima mnogo poznatih grešaka koje se odnose na performanse, korišćenje memorije, i druge.
PHP 7 je aktivno podržan i programeri imaju mogućnost da implementiraju nova poboljšanja, i time učine da vaš web sajt ili aplikacija radi brže, stabilnije, i da efikasnije koristiti resurse. Kao dodatna prednost, PHP 7 pruža vam mogoćnost za korišćenje modernih programskih struktura, što je važna prednost za programere.
Hoće li sve raditi kako treba ako pređem na PHP 7?
Prilikom prelaska sa PHP verzije 5 na PHP 7 može se desiti da otkrijete neke nekompatibilnosti, koje treba da „sredi“ vaš programer.
PHP je uveo više promena od verzije 5 koje su poboljšale PHP jezik i učinila ga sigurnijim, ali se može desiti da dobijete upozorenje ili grešku jer vaš kod nije kompatibilan sa PHP verzijom 7.
Ako ste WordPress korisnik, nova verzija WordPress-a je u potpunosti kompatibilna sa PHP 7.2 i novijim.
U svakom slučaju, veoma je važno da se uverite da su tema i dodaci koje koristite takođe kompatibilni sa PHP-om 7.2 ili novijim. Ukoliko koristite neažurnu temu ili dodatak, možda ćete dobiti upozorenje ili grešku zbog nekompatibilnosti (error logs).
Iz tog razloga, preporučujemo vam da prvo testirate vaš web sajt, i proverite da li, i kako funkcioniše sa verzijom PHP 7.2. Ako imate nekih problema, proverite kod proizvođača teme ili dodatka da li postoji nova/ažurna verzija koju treba da ažurirate.
Ova stranica sadrži vodič za migraciju za PHP programera koji migriraju kod sa PHP 5.6 na PHP 7.
https://secure.php.net/manual/en/migration70.php
Na ovoj stranici je lista nepodržanih funkcija pod PHP-om 7.2, koja će biti korisna za programera koji migrira kod (web sajt ili web aplikaciju) sa PHP 5 na PHP 7.
http://php.net/manual/en/migration72.deprecated.php
Kako najlakše da pređem na PHP verziju 7?
Neki hosting provajderi nude jednu verziju PHP verzije u CPanel-u.
BeotelNet u svim hosting paketima ima php Selektor, i nudi PHP verzije 7.0, 7.1, 7.2.
Ovo vam omogućava da lako pređete na PHP 7 i proverite kako vaš web sajt radi sa novom verzijom. Ukoliko nešto ne funkcioniše kako treba, možete se lako vratiti na staru verziju, i napraviti plan za rešavanje problema na koji ste naišli.
Šta ako moj web sajt ne podržava PHP 7?
Verzija PHP 7.0 je objavljena pre skoro tri godine.
Ako vaš sajt, tema, plugin ili neki drugi PHP proizvod ne podržava verziju PHP 7 u ovom trenutku, vrlo je verovatno da sam kod, odnosno proizvod nije ažuran/održavan.
Ukoliko se projekat koji koristite održava, onda bi korisnici koji već koriste PHP 7 prijavili problem u poslednje 3 godine, što bi programeri do sada rešili.
Korišćenje neažurnog/neodržavanog softvera je loša ideja, jer to znači da se ne vodi računa o bezbednosti i ranjivostima.
Dakle, ukoliko naiđete na nekompatibilnosti prilikom prelaska na PHP 7, to je važno upozorenje koje može da ukazuje na to da treba naći drugo rešenje, odnosno preći na korišćenje alternativnog proizvoda koje se aktivno održava.
Kako mogu da saznam koju verziju PHP koristim za svoj web sajt?
Postoji više načina da utvrdite koju verziju PHP koristi vaš web sajt.
Ukoliko koristite WordPress možete instalirati dodatak koji će prikazati vašu verziju PHP-a.
https://wordpress.org/plugins/display-php-version/
Korisnici BeotelNetovih hosting paketa mogu da se uloguju sa svojim korisničkim nalogom na cPanel, i kliknu u odeljku za Software na -> Select PHP version.
Videćete koju verziju PHP-a trenutno koristite, npr. Current PHP version: native (5.6).
Ako imate FTP pristup vašem hostingu, možete kreirati datoteku (sa imenom koje je teško pogoditi), npr – Verzija-PHP-Prikaz.php.
Zatim u datoteku dodajte sledeće dve linije:
<? php
phpinfo ();
Sačuvajte datoteku u vašem osnovnom (root) direktorijumu, nakon toga iz vašem browser-a otvorite datoteku, npr http://imedomena.rs/Verzija-PHP-Prikaz.php.
Verzija PHP-a koju trenutno koristite će biti prikazana na vašem ekranu. Ne zaboravite da izbrišete privremenu datoteku koju ste napravili nakon što završite (Verzija-PHP-Prikaz.php).