Rubriky
Bezpečnost novinky Technologie

Proč byste neměli používat staré verze PHP

Každý rok končí oficiální podpora nejstarší z podporovaných verzí PHP. Přinášíme vám pohled na naše nejbližší kroky a několik důvodů, proč byste neměli používat staré verze PHP. Plánujeme totiž výrazné změny.

V tomto článku najdete:

Životní cyklus PHP

PHP je nejpoužívanější skriptovací jazyk pro web. Podle W3Techs ho používá kolem 76 % webů. Na většině sdílených hostingů představuje jedinou dostupnou možnost. I u nás, zatím. Pro potřeby tohoto článku si můžete PHP představit jako softwarové prostředí, které zajišťuje fungování webu, například redakčního systému WordPress, který je celý napsaný v jazyce PHP.

Stejně jako každý software má i PHP svůj životní cyklus. Pravidelně vycházejí novější verze, které přidávají nové funkce a opravují chyby a nedostatky těch předchozích. Nové verze vycházejí přibližně každý rok a jejich podpora trvá většinou 2 roky. Problém, před kterým stojíme, je, že většina webů běží na starých verzích PHP, které již několik let nejsou oficiálně podporované.

Podporované verze PHP podle PHP.net, květen 2024

Jak to vypadá u nás a ve světě

Na ukázku globálního trendu můžeme použít živé statistiky z wordpress.org. Mezi všemi WordPress weby používá pouze přibližně 30 % oficiálně podporovanou verzi PHP. Skoro 17 % používá brzy nepodporovanou verzi PHP 8.1, a zbývajících 53 % používá PHP 8.0 nebo starší. Na tuto nepříznivou situaci již v minulosti upozornili například tvůrci populárního pluginu Yoast SEO.

Aktuálně využívané verze PHP na všech WordPress webech, zdroj wordpress.org

Podobnou situaci vidíme i na naší infrastruktuře. Statistiky z jara 2024 vás možná překvapí, ale přibližně 75 % našich uživatelů používalo na svém hostingu jednu ze zastaralých verzí PHP 5.2 – 8.0. Dominovala především PHP 5.6 (důvody níže). Koncem roku se k nim přidá další skupina, která používá verzi PHP 8.1. Oficiální podpora verze 5.6 skončila v prosinci 2018.

Přehled použitých verzí PHP na Websupport infrastruktuře, jaro 2024

Tento trend nevypadá vůbec optimisticky, proto jsme se rozhodli ho zlepšit a přesunout co nejvíce webů a uživatelů na novější verze – napříč všemi zeměmi, kde působíme. A pokud se nám podaří zlepšit stav i mimo naše hostingy, profitovat z toho bude celá komunita.

Nejčastější důvody používání starých verzí PHP

Z praxe vidíme nejčastěji tyto důvody, proč uživatelé používají staré verze PHP:

  1. Majitelé webů o tom nevědí nebo to neřeší. Ve většině případů je to plně akceptovatelné – řešení podobných věcí očekávají od svých vývojářů, správců webu, či přímo od hostingu. Proto má PHP 5.6 největší zastoupení na našich hostingech – dlouho jsme tuto verzi nabízeli jako výchozí a uživatelé ji nikdy nezměnili.
  2. Zajištění kompatibility na straně vývojářů/správců vyžaduje čas na aktualizaci redakčních systémů, pluginů a následné testování. Pokud jste si před lety nechali vyrobit web a dále to neřešili, aktualizace na novější verze PHP nemusí být vůbec triviální a levná. Menší problém to představuje pro moderní open-source systémy, které většinou stačí „jen“ aktualizovat. Z grafů výše je ale vidět, že ani tohle často nestačí.
  3. Většina hostingů se této tématice dlouhodobě vyhýbala. Včetně nás. Důvod je prostý – protože je pro majitele webů problematické zajistit kompatibilitu webů, vynucená aktualizace ze strany hostingu může způsobit nefunkčnost tisíců webových stránek. A to nechceme ani my, ani majitelé webů. S dostatečným předstihem proto na tento problém začínáme aktivně upozorňovat.

Rizika a nevýhody starých verzí PHP

Z pohledu uživatele staré verze PHP zaostávají oproti novým především v oblasti bezpečnosti a výkonnosti.

Slabá bezpečnost

Nejsilnějším argumentem pro aktualizaci PHP je bezpečnost. Během aktivní podpory vycházejí opravné aktualizace, které řeší zjištěné nedostatky. Jejich přehled si můžete prohlédnout například na stránkách CVE Details. Na obrázku níže najdete počet kritických chyb objevených v jednotlivých letech.

Přehled objevených bezpečnostních děr v PHP podle roků. Zdroj CVE Details.

Slabý výkon

S každou novou verzí PHP se výrazně zlepšuje výkonnost webu. Čím novější je verze PHP, tím rychleji se načítá vaše stránka. Porovnali jsme nejnovější funkční verzi aplikace WordPress (standardní instalace) na různých verzích PHP. Jak vidíte, PHP 8.3 dokáže zpracovat více než dvojnásobek požadavků za sekundu oproti PHP 5.6. Podobné statistiky vidíme i u dalších redakčních systémů, jako jsou Joomla, Drupal a OpenCart. Takže kromě mnoha důležitých bezpečnostních výhod by váš web fungoval mnohem lépe, pokud byste ho aktualizovali na nejnovější verzi PHP.

Porovnání výkonnosti verzí PHP

Plán ukončení nepodporovaných verzí PHP

Po letech naší dodatečné podpory plánujeme ve Websupportu v roce 2024 definitivně ukončit provoz vybraných verzí PHP.

Zatím ponecháme verze PHP 5.6, 7.4, 8.1-8.3. Pokud používáte jinou verzi, vaše webové stránky budou přesunuty na další verzi PHP v pořadí:

  • PHP 5.3 – bude přesunuta na verzi PHP 5.6,
  • PHP 7.x – bude přesunuta na PHP 7.4,
  • PHP 8.0 – bude přesunuta na PHP 8.2/8.3.

Tyto verze budeme na vlastní náklady udržovat použitelné a opravovat kritické nedostatky. Dlouhodobě je však jejich používání nedoporučujeme a do budoucna bude jejich používání pravděpodobně i dodatečně zpoplatněno.

Naše klienty budeme informovat postupně, ve vlnách.

Otestujte si kompatibilitu vašeho webu

Abychom vám přechod na novější verze PHP co nejvíce usnadnili, vytvořili jsme pro vás nástroj na testování kompatibility webu a PHP. Pomocí tohoto nástroje můžete bezpečně, pouze ve vašem prohlížeči a bez vlivu na produkční stránku, otestovat funkčnost webové stránky na novější verzi PHP. A pokud vše funguje, jak má, můžete aktualizovat PHP ihned a neodkládat to na poslední chvíli. Například okamžitý přechod z PHP 5.5 na PHP 5.6 by podle našich zkušeností neměl představovat žádný problém a může být proveden okamžitě. Totéž platí i pro PHP 8.0 na 8.2.

Nástroj na testování kompatibility PHP je dostupný přímo v WebAdminu

Jak aktualizovat PHP na hostingu

Pokud jste naším zákazníkem, změnit PHP verzi můžete kdykoliv přímo přes WebAdmin, sekce Web > Služby > PHP nastavení. V tomto návodu najdete informace o tom, jak můžete otestovat a změnit verzi PHP na novější.

Podobně by to mělo fungovat i u jiných poskytovatelů.

Pokud vaše webová stránka nefunguje, když vyzkoušíte novější verzi PHP, bude nutné upravit kód. Podívejte se na tento návod z PHP.net, jak aktualizovat příslušný kód.

Pokud používáte WordPress, návod na aktualizaci najdete i v naší Centru nápovědy. Pro další redakční systémy doporučujeme oficiální dokumentaci:

Pokud používáte hosting, který vám neumožňuje přechod na některou z aktuálně podporovaných verzí PHP, doporučujeme poohlédnout se po novém hostingu. My vám rádi nabídneme více a za přechod od konkurence vás odměníme.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *