2018 december 31-ével megszűnik a PHP 5.x támogatása

img

Jelenleg a csapból is az folyik, hogy veszélyben van a weboldalak 62%-a. Mit is jelent ez? A PHP 5-ös verziójának megszűnik a támogatása, ami annyit tesz, hogy onnantól kezdve nem kap frissítéseket. Nagyjából úgy kell elképzelni, mint mikor a Microsoft kijelentette, hogy megszűnik a Windows XP támogatása.

Tehát a PHP 5-re írt kódok továbbra is fognak működni, használhatók lesznek, de az idő múlásásval a programok egyre sebezhetőbbek lesznek, mivel a PHP nem kap frissítéseket. A PHP 5.x támogatásának megszüntetésével egyidejűleg már ahhoz kapcsolódó javítások sem fognak érkezni, így a weboldalak hatványozott mértékben lesznek kitéve a vírus- és hackertámadások hatásainak.

Mint fejlesztő, ezt a lépést teljesen megértem és támogatom. Vannak programjaim, melyek már több, mint 4-5 éve voltak fejlesztve és a mai napig van, hogy bele kell nyúlni a kódba, mert vagy nem működik megfelelően, vagy újabb kérés érkezik, hogy jó lenne, ha ezt is tudná. Ez általában fizikai fájdalmat okoz, mert a jelenlegi kód sokkal átláthatóbb, könnyebben fejleszthető és gyorsabb benne dolgozni. A régi rendszer felett eljárt az idő. De jelenleg nincs rá lehetőség, hogy az újra cseréljem, így kénytelen vagyok a régit "foltozgatni". Emiatt is támogatom az ilyen lépéseket, haladni kell előre, a fejlesztőknek törekedni kell arra, hogy a legújabb technológiákat használják.

Természetesen a fenti példát arra hoztam fel, hogy biztosan nem egyszerű egyszerre több verziót fenntartani és frissíteni. Emiatt logikus lépés a régi verzió kivezetése.

Mire érdemes váltani?

A PHP 5 helyett érdemes egyből 7.2-re váltani, mivel a 7.0 támogatása is megszűnik még ebben az évben, a 7.2-nek ezzel ellentétben 2020 végéig lesz támogatottsága.

Ha a kód PHP 5.5 előtti verzióra készült, akkor nagy az esélye, hogy még a régi mysql_* függvényeket használja, melyek a 5.5-től váltak Deprecateddé, vagyis később kikerültek a PHP-ból. Ehelyett használjunk PDO-t vagy MySQLi-t.

Talán ez az egyetlen, ami elég sok rendszert érinthet.

Mindig teszteljünk a váltás előtt.

A legtöbb szolgáltató és szerver támogatja, hogy egyszerre több PHP verzió legyen telepítve. Ha nincs rá más mód, akkor a jelenlegi kódot egy kevésbé forgalmas időszakban, mondjuk éjszaka, meg kell próbálni átállítani magasabb verziószámú PHP-ra. Ha hozzáférünk a hibanaplóhoz, akkor pontosan látszani fog, hogy a program milyen hibákba fut és ezeket legtöbbször egyszerűen lehet javítani is.

Ettől jobb megoldás, ha egy másik szerveren, gépen teszteljük az átállást, így nem okozunk vele fennakadást az oldal működésében. Nekem például van egy, az éles szerverhez 90%-ban hasonlóan felkonfigurált kisebb gépem, melyen folyamatosan monitorozni tudom a program működését, így már az éles rendszerre egy biztosan jól működő kód kerül. Ha nincs lehetőséged vagy nem értesz egy új teszt szerver felkonfigurálásához, akkor például Windowson használható az EasyPHP, igaz, ez nem fog 100%-ban megegyezni egy bérelt tárhely beállításaival - főleg, ha nem tudod, ott pontosan milyen modulokat engedélyeztek -, de a kódot tudod ellenőrizni, hogy futni fog-e PHP 7 alatt is.

Mielőtt bármibe belekezdesz, készíts biztonsági mentést, nehogy a végén több hiba legyen, mint amennyivel kezdted.

Mi történhet PHP verzió váltáskor?

Jó esetben semmi. Ha a PHP 5 változásait követted, akkor valószínűleg már a kód nagy része készen áll a PHP 7 befogadására is. Ettől függetlenül érdemes teljesen végigtesztelni a programot.

Rosszabb esetben a kód látszólag jól működik, de a háttérben megbújó folyamatokban lehetnek fennakadások, ezért is érdemes előbb egy közel azonos beállításokkal futó rendszeren végigtesztelni a programot, hogy az apróságokat is teljesen ki lehessen szűrni.

A legrosszabb következmény, hogy teljesen összeomlik a rendszer és teljesen működésképtelenné válik, ilyenkor a hibakonzol vagy az error.log a legjobb barátunk. Sajnos nagyobb rendszereknél akár hatványozottan több időt is igénybe vehet, mire minden egyes hibát megtalálunk és kijavítunk.

Összegezve

Haladnunk kell fejlesztőként is a korral, folyamatosan tanulni, fejlődni, új technikákat alkalmazni. Ne keresd a kifogásokat, hogy erre nincs idő. Mindig van rá idő, ha akarod, hogy legyen.

Rajtunk múlik, hogy milyen lesz a program, ha leragadunk egyre nehezebb lesz utolérni. A PHP 5 és a PHP 7 között óriási sebességkülönbség van, ezt a tesztet kifejezetten Wordpressel végzeték, az eredmények magukért beszélnek szerintem.

Nem kell annyira megijedni, mint ahogy sokan beállítják, hogy itt a világ vége. Dehogy van itt, milliószor álltunk már át új verzióra - akár gond nélkül - és ha fejlesztőként követted az aktuális változásokat, nem sok problémád lesz a mostani átállással sem.

Szóval irány tesztelni!

Hasznos linkek

Váltás 5.6-ról 7.0-ra

Váltás 7.0-ról 7.1-re

Váltás 7.1-ről 7.2-re

Ha 5.6 előtti verzióról állsz át, akkor a jobb oldalon érdemes megnézni, hogy azoknál mi változott.