Proč musíte co nejdříve přejít na PHP 7+ (a jak to udělat hned teď)

Toto je příspěvek pro hosty. Názory a doporučení jsou vlastní a nemusí se nutně shodovat s názory a doporučeními společnosti WP Rocket.

Co kdybych vám řekl, že můžete zdvojnásobit rychlost stránek ve WordPressu za pouhých 10 minut? Zní to úžasně, že?“

No, můžete – stačí přejít na nejnovější verzi PHP.

A brzy stejně nebudete mít na výběr, protože PHP 5.6 se v dubnu 2019 stane minimálním požadavkem pro WordPress a již v prosinci 2019 bude nahrazeno PHP 7.0.

PHP je jedním z nejoblíbenějších skriptovacích jazyků na webu. Ve skutečnosti 70 % všech webových stránek, které používají programování na straně serveru, používá PHP. To je 8 z 10 webů.

PHP pohání také weby WordPress. Velkým problémem, se kterým se v komunitě WordPress potýkáme, však je, že mnoho webů, firem, poskytovatelů hostingu a vývojářů nepodporuje nejnovější verze jazyka PHP. Je to obzvlášť frustrující vzhledem k tomu, jak snadné je aktualizovat.

V MailPoetu jsme pevně přesvědčeni, že všichni uživatelé WordPressu by měli co nejdříve přejít na nejnovější verzi PHP. Upgrade nejenže okamžitě zvýší rychlost a výkon vašich stránek, ale přináší také výhody v oblasti bezpečnosti a kompatibility.

Dnes vás chci přesvědčit, abyste věnovali 10 minut ze svého dne, které jsou nutné k upgradu vašich stránek na nejnovější verzi PHP.

WordPress a jeho problém s PHP

Osm z každých deseti webů WordPress bude brzy běžet na verzi PHP, která již není podporována – pokud majitelé webů nebudou jednat rychle.

Podle statistik WordPress.org je 36,4 % webů WordPress na PHP 5.6.

. Problém? Aktivní podpora PHP 5.6 skončila 19. ledna 2017 a oficiálně skončí jeho životnost 31. prosince. To znamená, že již nebude mít bezpečnostní podporu a weby, které jej budou nadále používat, mohou být vystaveny neopraveným zranitelnostem.

Pak je tu PHP 7.0, jehož životnost skončila 3. prosince 2018. I ona již není podporovanou verzí PHP. Přesto téměř 20 % webů WordPress používá PHP 7.0.

Pokud si říkáte: „Nebylo náhodou PHP 7.0 vydáno teprve nedávno?“. Bylo… před dvěma lety a 11 měsíci. Stejně jako každý software má i PHP svůj životní cyklus vydávání, kterého se musí držet, aby mohl postupovat vpřed s vylepšeními a novými funkcemi (stejně jako WordPress). Každá hlavní verze PHP je obvykle plně podporována záplatami chyb a opravami zabezpečení po dobu dvou let od jejího vydání.

A pak je tu dalších 25,2 % webů, které již běží na nepodporovaných starších verzích PHP, včetně verzí 5.2, 5.3, 5.4 a 5.5.

Takže celkem v době psaní tohoto článku běží nebo bude běžet na nepodporované verzi PHP neuvěřitelných 81,3 % webů WordPress.

Na nejnovějších podporovaných verzích – PHP 7 – běží jen 18,6 % webů WordPress.1 a PHP 7.2.

Proč tolik webů WordPress stále běží na starších verzích PHP?

Důvodů, proč weby stále běží na zastaralých a nepodporovaných verzích PHP, je mnoho a jsou různé, ale toto jsou nejčastější faktory.

Majitelé webů nevědí nebo je to nezajímá

Pro mnoho majitelů webů, zejména těch, kteří nejsou technicky zdatní, je důležité pouze to, aby jejich web fungoval, dobře fungoval a dobře vypadal. Pokud nemusí aktualizovat svou verzi PHP, proč by to dělali?

V mnoha případech je na vývojářích a webhostorech, aby tyto majitele stránek k aktualizaci dotlačili (pro jejich vlastní dobro!).

Pro vývojáře pluginů a témat je to časově náročné

Pro vývojáře starších pluginů a témat znamená aktualizace na nejnovější verze PHP aktualizaci jejich kódu spolu s rozsáhlým testováním pro zajištění kompatibility. Koneckonců nechtějí rozbít weby svých uživatelů.

Webhostingové společnosti nechtějí rozbít weby

V podstatě jde o to, že webhostingové společnosti nechtějí rozbít weby svých zákazníků. Přestože v roce 2014 bylo vydáno PHP 5.6 a brzy skončí životnost PHP 7.0, webhostitelé odkládají aktualizaci svých serverů na nejnovější verze PHP (7.1 nebo 7.2) kvůli možnosti rozbití zásuvných modulů a témat.

Při 32,4 % všech webů, které používají WordPress, je to hodně lístků na podporu, pokud webhostitelé prosadí aktualizace a něco se pokazí.

To znamená, že pokud chcete, aby váš web běžel na nejnovější verzi PHP, budete muset převzít iniciativu a aktualizovat jej sami, nebo tlačit na poskytovatele hostingu, aby vám pomohl.

Proč WordPress nevyžaduje novější verze PHP?

Projekt WordPress nenutil uživatele k nejnovějším verzím PHP, protože… No, je to složité. Je to kombinace všeho, co jsem popsal ve výše uvedené části, a také toho, že mám na starosti správu nejoblíbenějšího systému pro správu obsahu na světě.

V roce 2019 se ale věci změní.

Na WordCampu v USA v prosinci 2018 bylo oznámeno, že PHP 5. verze se bude používat od roku 2019.6 se v první polovině roku 2019 stane minimální podporovanou verzí a v druhé polovině roku 2019 bude minimální verze opět navýšena na PHP 7.0 – pokud vše půjde podle plánu.

Tyto změny se chystají už dlouho a můžeme poděkovat společnosti Yoast, že se velkou měrou podílela na tom, že uživatele přiměla k upgradu. Na začátku roku 2017 bylo s vydáním verze Yoast SEO 4.5 na ovládací panel WordPressu přidáno upozornění pro uživatele aplikace Yoast. Vyzývalo majitele webů, jejichž weby byly na serveru se zastaralou verzí PHP, aby aktualizovali na novou verzi.

Majitelé webů mohli tuto výzvu vypnout pouze aktualizací PHP.

Tato iniciativa, nazvaná projekt Yoast WHIP, dokázala, že žádat uživatele (nebo je „obtěžovat“, jak říká společnost Yoast v původním tiketu Trac, který napsali o sloučení WHIP do jádra WordPressu) – aby upgradovali – může skutečně přinést smysluplnou změnu.

Remkus de Vries, manažer pro partnerství a kontakt s komunitou WordPressu ve společnosti Yoast, mi řekl, že jejich tým dlouhou dobu pozoroval, že se počet instalací na novější verze PHP v procentech zdvojnásobil.

V důsledku WHIP a pozitivního nárůstu počtu aktualizací PHP byl v polovině roku 2017 spuštěn projekt Servehappy.

Nejnověji na začátku prosince navrhl Gary Pendergast, přispěvatel do jádra WordPressu, aktualizaci minimálních verzí PHP. Plán, který Matt Mullenweg potvrdil ve svém vystoupení State of the Word na WordCamp US, počítá s tím, že PHP 5.6 bude minimální požadovanou verzí pro WordPress do dubna 2019 a PHP 7.0 se stane minimem „již“ v prosinci 2019.

Poté, co Matt tento návrh oznámil na WCUS, sklidil obrovský potlesk – mnohem větší potlesk než většina zpráv o Gutenbergu. Pro komunitu WordPressu je posun vpřed s nejnovějšími verzemi PHP vítanou zprávou.

Ačkoli zvýšení minimálních verzí PHP nutně nezmění apatii, povědomí nebo podporu vývojářů pro novější verze PHP přes noc, termíny určitě pomohou zajistit, aby WordPress v budoucích letech držel krok s PHP při jeho vývoji.

Podle WordPress.org:

„Bezprostředním cílem je zavést podpůrnou strukturu a vzdělávání majitelů webů/zdroje atd. tak, abychom mohli aktivněji snížit počet stávajících aktivních webů WordPress na starších verzích PHP EOL a zlepšit tak bezpečnost a výkonnost webu.“

Proč byste měli přejít na PHP 7+

Pokud vás výše uvedené nepřesvědčilo, je tu ještě něco navíc. Nejenže je nyní PHP 7.2 oficiálně uvedeno jako doporučený požadavek pro provoz WordPressu, ale upgrade přináší spoustu výhod v oblasti rychlosti, výkonu a zabezpečení.

Rychlost a výkon

Pokud váš web běží na starší verzi PHP, aktualizace na nejnovější verzi vám přinese okamžitý nárůst výkonu – větší, než vám poskytne jakékoli vylepšování okrajů webu WordPress.

Když bylo vydáno PHP 7.0, bylo široce vychvalováno, že přináší výrazný nárůst výkonu. Ve skutečnosti oficiální srovnávací testy PHP s použitím WordPressu 4.1.1 ukazují, že PHP 7.0 umožňuje serverům provádět dvakrát více požadavků za sekundu než PHP 5.6 při méně než poloviční latenci.

Webhosting Kinsta také nedávno zveřejnil srovnávací testy výkonu, ve kterých porovnává PHP 5.6, PHP 7.0, PHP 7.1, PHP 7.2 a PHP 7.3.

Výsledky srovnávacích testů jsou uvedeny v tabulce. Jejich výsledky ukazují, že PHP 7.3 provede 3x více požadavků za sekundu ve srovnání s PHP 5.6.

Pokud potřebujete další důkaz o nárůstu výkonu, který získáte při upgradu, první benchmarky webu Phoronix, který se zabývá zprávami a recenzemi open source, ukázaly, že PHP 7.3, který byl vydán na konci roku 2018, je asi o 5 % rychlejší než PHP 7.2.

Podpora a kompatibilita

Kompatibilita je dalším velkým důvodem, proč byste měli mít nejnovější verzi PHP. Jako u každého softwaru budou vývojáři podporovat starší verze jen po určitou dobu. Například starší verze iPhonů nejsou kompatibilní s nejnovější verzí systému iOS, čímž se stávají prakticky nepoužitelnými.

Jde o to, že aktivní podpora starého softwaru a zajištění zpětné kompatibility je nákladné, především z hlediska času vývojářů zásuvných modulů a témat. Chtějí se posunout vpřed a přidávat do svých produktů nové funkce a vylepšení zabezpečení a výkonu – a podpora starších verzí PHP je brzdí.

V MailPoetu jsme se potřebovali posunout vpřed ve vlastním zájmu a podporu PHP 5.2, 5.3, 5.4 a 5.5 jsme úplně zrušili. To snížilo náš dosah na mnoho uživatelů, ale výrazně zvýšilo spokojenost našeho týmu – znamenalo to, že jsme se mohli soustředit na vytváření většího a lepšího produktu!

Ve fórech podpory WordPress.org se totiž pravidelně objevují problémy se staršími verzemi PHP. Pokud vyhledáte „T_Function“, najdete více než 2700 výsledků.

Jak Predrag Dubajic ze společnosti WPMU DEV ochotně vysvětluje v tomto vlákně podpory pro zásuvný modul Hustle, chyby T_Function se obvykle objevují, pokud uživatel používá zastaralou verzi PHP:

Bezpečnost

Dalším zásadním důvodem, proč byste měli upgradovat, je bezpečnost vašeho webu WordPress. Používání nejnovější verze jazyka PHP zajistí, že váš web bude chráněn proti zranitelnostem zjištěným ve starších verzích jazyka PHP.

Například zde vám otevřeme oči: podle zdroje údajů o bezpečnostních zranitelnostech CVE Details bylo letos v jazyce PHP nalezeno 18 známých zranitelností. V roce 2017 bylo objeveno 43 bezpečnostních zranitelností a v roce 2016 bylo nalezeno obrovských 107 zranitelností.

Tyto zranitelnosti zahrnují DoS, spuštění kódu, SQL injection, XSS a mnoho dalších typů zneužití.

Je osvědčeným postupem pro WordPress udržovat aktuální verze jádra, zásuvných modulů a témat WordPress. Stejně tak byste měli udržovat aktuální i verzi PHP, abyste se vyhnuli bezpečnostním zranitelnostem.

Kontrola kompatibility PHP

Snad jsem vás již přesvědčil o výhodách aktualizace na nejnovější verzi PHP. Než se však pustíte do aktualizace, je třeba nejprve udělat několik věcí: zkontrolovat, jakou verzi PHP používáte, a také zkontrolovat kompatibilitu vašeho webu s nejnovější verzí.

Nejste si jisti, na jaké verzi PHP váš web běží? Zde je návod, jak to můžete zkontrolovat.

Nainstalujte si bezplatný doplněk Display PHP Version, který si můžete stáhnout z úložiště doplňků WordPress. Když tento doplněk aktivujete, zobrazí vaši verzi PHP ve widgetu „Na první pohled“ na ovládacím panelu WordPressu.

Před upgradem byste také měli zkontrolovat, zda jsou vaše pluginy a témata kompatibilní s nejnovější verzí PHP. Nejlepším nástrojem pro tuto práci je plugin Kontrola kompatibility PHP od WP Engine. Tento doplněk umožňuje prohledat váš web a zkontrolovat, které zásuvné moduly jsou kompatibilní se třemi nejnovějšími verzemi PHP.

Po dokončení kontroly zobrazí seznam vašich zásuvných modulů a zvýrazní všechny, které obsahují kód ze starších verzí PHP, který je nyní nekompatibilní s právě testovanou verzí.

Důležité je přepnout podrobnosti o všech zásuvných modulech, které jsou zobrazeny s označením „Neznámý“, jako například výše uvedený Caldera Form. Takové zásuvné moduly jsou přeskakovány, protože jsou příliš velké na to, aby je bylo možné prohledat.

Pokud zjistíte, že některý z používaných zásuvných modulů není kompatibilní s nejnovější verzí PHP nebo vám poskytuje neznámé výsledky či varování, obraťte se na autora zásuvného modulu a požádejte ho o podporu.

Jak upgradovat na nejnovější verzi PHP

Pokud jste otestovali kompatibilitu svého webu WordPress – a pro jistotu jste provedli zálohu – jste připraveni upgradovat verzi PHP.

Nejlépe je nejprve upgradovat svůj testovací web a teprve poté upgradovat svůj produkční web, jen pro jistotu, abyste se ujistili, že nedojde k problémům s vaším živým webem.

Upgrade PHP pomocí cPanelu

Pokud jste u hostitele, který poskytuje přístup k vašemu webu přes cPanel, můžete se jednoduše přihlásit do cPanelu a změnit verzi PHP tam.

Jediné, co musíte udělat, je přejít dolů do sekce Software a vybrat „Zvolit verzi PHP“

Na další stránce vyberte verzi PHP, kterou chcete používat, a klikněte na „Nastavit jako aktuální“

To je vše, co musíte udělat. Obnovte web a zkontrolujte, zda funguje v pořádku, ale pokud jste zkontrolovali kompatibilitu, měl by být váš web v pořádku.

Přechod na PHP na vlastním serveru

Pokud spravujete vlastní server, můžete na PHP 7.2 přejít sami pomocí migračních průvodců uvedených v dokumentaci na php.net. Je důležité, abyste věnovali velkou pozornost novým vlastnostem a funkcím a také všem zastaralým funkcím, které by mohly mít vliv na váš web.

Migrace z PHP 5.6.x na PHP 7.0.x
Migrace z PHP 7.0.x na PHP 7.1.x
Migrace z PHP 7.1.x na PHP 7.2.x

Požádejte svého webhostitele o aktualizaci PHP

Pokud nemáte přístup k cPanelu nebo jinému relativně jednoduchému způsobu aktualizace PHP, kontaktujte svého webhostitele. Proces upgradu by měl být z jejich strany snadný a neměl by mít dopad na váš web.

WooCommerce doporučuje zaslat poskytovateli hostingu tento e-mail, ale zde je pozměněná a aktuální verze:

Vážený hostiteli,

na jednom z vašich serverů provozuji web WordPress a WordPress.org na své stránce s požadavky doporučuje jako požadovanou verzi PHP 7.2. V případě, že se jedná o PHP 7.2, je možné, že se bude jednat o PHP 7.2, které je vyžadováno: https://wordpress.org/about/requirements/

Můžete mi dát vědět, zda můj hosting podporuje PHP 7.2 a jak mohu provést upgrade?

Těším se na vaši odpověď.

Pokud vám váš hostitel ztěžuje upgrade nebo ho dokonce odmítá provést, je čas najít si nového hostitele.

Je čas přejít na PHP 7+

Snad jsem zde uvedl dostatečně pádné argumenty, které vás přesvědčí, abyste přešli na nejnovější verzi PHP. Nejenže vám upgrade přinese okamžité zvýšení výkonu, ale váš web bude také lépe chráněn proti bezpečnostním chybám nalezeným ve starších verzích PHP.

Před upgradem webu se ujistěte, že je váš web kompatibilní s verzí PHP, na kterou chcete přejít, a proveďte zálohu. Ještě lépe je vytvořit stagingovou verzi webu a otestovat ji tam před upgradem ostrého webu.

Nakonec, pokud narazíte na webhostitele nebo vývojáře zásuvných modulů či motivů, kteří vám ztěžují upgrade PHP, přejděte na hostitele nebo jiný produkt, který je kompatibilní! Tímto způsobem se postavíte na odpor a zajistíte, že hostitelé a vývojáři, kteří nepoužívají nejnovější verze, pocítí tlak na upgrade.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.