Na jaké verzi PHP by měl běžet váš web?

Co přináší nová verze PHP 8.0? Má smysl na ní přecházet a na jaké problémy můžete při přechodu narazit?

Petr Hložek

PHP programátor

Co je to PHP?

PHP je skriptovací programovací jazyk určený především k vývoji internetových stránek. První verze spatřila světlo Internetu před 16 lety. Od té doby prodělal jazyk bouřlivý vývoj. Někteří o něm tvrdí, že je mrtvý, avšak opak je pravdou. Na PHP beží 79 % webových stránek. Také jej používají nejrozšířenější redakční systémy jako Wordpress, JoomlaDrupal. Změny v posledních verzích z PHP dělají plnohodnotný programovací jazyk. 

Na jaké verzi by měl běžet váš web?

Nejjednodušší odpovědí by bylo, že na té nejnovější, ale ne vždy je to možné, nebo žádané. V době psaní článku (začátek prosince 2020) je čerstvě venku nová major verze – PHP 8.0. Autoři do ní přidali spoustu nových a zajímavých vlastností. Bohužel stále nejsou k dispozici některé moduly jako imagick – stará se o manipulaci s obrázky (zmenšování, ořezy, konverze do jiných formátů atd.). 


Mnohem jednodušší je vzít to obráceně. Váš web by neměl používat PHP verzi nižší, než 7.3. Verzi 7.2 končí podpora s koncem roku 2020. Pak už nebude od autorů PHP dostávat žádné opravy a to ani bezpečnostní. Je možné, že starší verze budou ještě dostávat opravy kritických chyb v rámci podpory, kterou má linuxová distribuce běžící na serveru, ale nedá se na to spoléhat. 

Co vám migrace na novější verze PHP přinese?

Kromě oprav případných (nejen) bezpečnostních chyb, také vyšší efektivitu při vývoji a méně chyb. U nových verzí PHP lze využít nástrojů pro statickou analýzu kódu jako je PHPStan. Pomáhají odhalit chyby dříve, než se kód objeví v produkci. S každou novou verzí se zlepšuje výkon. Největší skok byl asi při přechodu z PHP verze 5.6 na 7.0 (verze 6.0 nikdy nebyla vydána), kdy došlo k několikanásobnému zvýšení výkonu. 

 PHP benchmark

Zdroj - https://www.cloudways.com/blog/wordpress-performance-on-php-versions/


Podobný nárůst výkonu můžeme očekávat při přechodu na PHP 8.0 díky novince jménem JIT – just in time compiler. Hodně záleží na tom, jak je vaše aplikace napsána a jaký případně používá framework. Nejznámější frameworky jako Symfony, Nette, Laravel a další, jsou na PHP 8.0 připraveny. U nás v DesignDevu postupně projekty migrujeme ze Symfony 3.4. x na 5.2. x, která je nové PHP plně připravena. Jakmile bude k dispozici modul imagick, pustíme se do testování a měření výkonu.

Jaké mohou nastat problémy?

Dost bude záležet na tom, jak starou verzi právě používáte a je-li vaše aplikace napsána v čistém PHP, nebo používá nějaký známý framework. Velké procento aplikací běží stále na PHP 5.6. Jestliže používáte framework, je dost velká šance, že migrace na verzi 7.0 nebude takový problém jako v případě, kdy je použito čisté PHP bez frameworku. Opět velmi záleží na tom, jak je aplikace naprogramována. 

Další problém může být s prostředím, ve kterém vaše aplikace běží. Ne vždy bude možné hladce přepnout na novější verzi. Webhostingy bývají většinou na nové verze připraveny docela dobře, v případě provozu aplikace na vlastním serveru či VPS může být upgrade spojen s upgradem celého operačního systému.

Vyplatí se to?

Pokud s aplikací nebo webovou prezentací počítáte i do budoucna, vyplatí se přechod určitě. Sníží se pravděpodobnost napadení aplikace, mohla by se zlepšit odezva webu, další údržba nebude takovou noční můrou pro programátora.

 

O autorovi

Petr Hložek

PHP programátor

Jsem hlavním programátorem CMS EIP, na které mimo jiné implementuji klientské projekty. Mimo práci jsem vášnivý radioamatér, otec tří kluků, ranní ptáče.

Podobné

23. 8. 2016

Přecházíme na PHP 7

PHP jako skriptovací jazyk velmi rozšířený při tvorbě webových stránek a aplikací používáme i my. Jeho výhodou je rozsáhlá knihovna funkcí, rozšířené…
číst více
2. 11. 2016

Quality Assurance (QA) pohledem vývojáře

Quality Assurance (QA) z pohledu vývojáře znamená proces, kolegy, či oddělení zabývající se pokusy o rozbití našeho software, našeho dítěte (pozn. redakce…
číst více