PHP7 přináší značná vylepšení v oblasti výkonu. V tomto článku jsem provedl srovnávací test, abych ověřil, jak se WordPress chová s PHP 5.6 a PHP 7.
Dále se dozvíte, jak provést aktualizaci WordPressu z PHP 5 na verzi 7 na sdíleném hostingu i na VPS/Cloud serverech.
PHP7 bylo uvedeno na trh již v roce 2015 a přineslo mnoho výkonnostních inovací. Zdá se však, že nová verze PHP ještě nedosáhla masového rozšíření.
Jak je vidět, PHP7 dosáhlo pouze mírně nad 3% podíl na trhu, a to i přes své pokročilé funkce. Je na vině nedostatečné povědomí?
Po přečtení mnoha článků srovnávajících PHP7 a PHP5 jsem se rozhodl provést vlastní test, abych zjistil, jak rychlý je WordPress s PHP7.
Než se dostaneme k samotným výsledkům, je vhodné zmínit některé klíčové vlastnosti PHP7:
- Nižší spotřeba operační paměti
- Plná a stabilní 64bitová podpora
- Nový engine Zend
- Vylepšená výjimka engine pro efektivnější zpracování chyb
- Možnost definování anonymních tříd
- Znatelně rychlejší načítání webových stránek (samozřejmě)
Nejnovější verze WordPress oficiálně podporují PHP7. Podívejme se, jak si vedou v kombinaci s PHP7.
Detaily testování
Nyní krátce k testovací platformě a postupu, abyste měli jasnou představu o tom, jak test probíhal.
- Použil jsem Linode plán za 10 dolarů a udělal jsem následující kroky.
- Nainstaloval jsem WordPress 4.7 na Ubuntu 16.04 LTS prostřednictvím EasyEngine
- Nainstaloval jsem šablonu Blogging od MyThemeShop
- Nepoužil jsem žádný plugin pro cachování ani CDN
- Použil jsem Loader pro provedení zátěžového testu s 50 až 200 klienty po dobu jedné minuty.
Výkon WordPressu s PHP-FPM 5.6
EasyEngine standardně instaluje PHP-FPM 5.6, takže jsem nemusel provádět žádné další konfigurace kromě instalace WordPressu, šablony a nasměrování testovací domény na IP Linode VM.
Následně jsem spustil test v Loaderu a zde jsou výsledky:
- Průměrná doba odezvy: 11,96 s
- Minimální doba odezvy: 0,6 s
- Maximální doba odezvy: 19 s
Výkon WordPressu s PHP-FPM 7.0
Po přechodu na PHP 7 pomocí Easy Engine byly zaznamenány následující výsledky:
Skvělé! Jak je zřejmé, PHP7 je zhruba dvakrát rychlejší. PHP7 si vedlo výborně ve všech aspektech.
- Průměrný čas se snížil na 5,1 sekundy oproti 11,96 s u PHP 5.6
- Minimální doba odezvy činí 0,4 sekundy oproti 0,6 sekundy
- Maximální doba odezvy je 8,2 sekundy oproti 19 sekundám
Pouhým přechodem WordPressu z PHP 5.6 na PHP 7 se snížila doba načítání webu o 50 %.
Je zřejmé, že je to rychlé vylepšení pro jakýkoli web WordPress. Pokud stále nepoužíváte nejnovější verzi PHP, tyto výsledky by vás měly motivovat k upgradu.
Kontrola kompatibility
Před aktualizací PHP je vhodné ověřit, zda jsou vaše šablony a pluginy kompatibilní s PHP 7, aby po aktualizaci nedošlo k problémům.
Plugin PHP Compatibility Checker od WPEngine analyzuje vaše stávající šablony a pluginy a upozorní vás, pokud jsou kompatibilní s PHP 7.
Jak přejít z PHP 5 na PHP 7?
Existuje několik způsobů, jak to provést, v závislosti na používané platformě.
Pokud používáte EasyEngine
Pravděpodobně jedním z nejrychlejších způsobů, jak změnit verzi PHP, je použití EasyEngine.
Přihlaste se do svého VPS/Cloudu, kde je nainstalován EasyEngine.
Spusťte příkaz ee
ee site update yourwebsite.com --php7
Příklad:
[email protected]:~# ee site update chandan.io --php7 PHP7.0 je experimentální funkce a nemusí pracovat se všemi pluginy na vašem webu. Můžete ji deaktivovat pomocí --php7=off. Chcete nyní aktivovat PHP pro chandan.io? Zadejte "y" pro pokračování [n]:y Probíhají předaktualizační kontroly, prosím čekejte... Umístění zálohy: /var/www/chandan.io/backup/25Feb2017093100 Zálohování databáze [Dokončeno] Nastavení konfigurace NGINX [Dokončeno] Nastavení webroot [Dokončeno] Opětovné načtení: nginx [OK] Web http://chandan.io byl úspěšně aktualizován [email protected]:~#
Pro ověření, že běží PHP 7, můžete použít příkaz ps.
[email protected]:~# ps -ef|grep php root 17274 1 0 Feb24 ? 00:00:04 php-fpm: hlavní proces (/etc/php/7.0/fpm/php-fpm.conf) root 26674 26541 0 09:31 pts/0 00:00:00 grep --color=auto php [email protected]:~#
Poznámka: Pokud si všimnete, že běží PHP 5 i 7, můžete zastavit PHP 5 a odebrat ji z automatického spouštění.
Pokud používáte sdílený hosting
Pokud máte sdílený hosting s cPanelem, můžete si verzi PHP změnit sami následujícím postupem.
V opačném případě se budete muset obrátit na svého poskytovatele hostingu.
Následující obrázek pochází z hostingu SiteGround.
- Přihlaste se do svého cPanelu.
- Klikněte na „PHP Version Manager“ v sekci 1H Software.
- Vyberte web, u kterého chcete změnit verzi PHP.
- Změňte verzi PHP a klikněte na Uložit.
Obdržíte potvrzení, že na váš web byla aplikována nová verze PHP.
Výborně! Právě jste zrychlili svůj web WordPress na sdíleném hostingu.
Pokud máte hosting u Kinsta
Kinsta je prémiový spravovaný WordPress hosting, který využívá Google Cloud a nabízí maximální výkon. Verzi PHP můžete změnit v MyKinsta.
Pokud máte hosting na Cloud/VPS
Pokud hostujete WordPress na cloudu nebo VPS (například Google Cloud, AWS, Linode, DigitalOcean atd.) a vše jste si nainstalovali sami ručně, můžete postupovat následovně (příklad pro CentOS 6.x) pro upgrade PHP.
- Přihlaste se do svého CentOS virtuálního počítače.
- Před upgradem proveďte zálohu virtuálního počítače, abyste se mohli vrátit zpět, pokud se něco pokazí.
- Odstraňte stávající verzi PHP.
yum remove php-fpm php-cli php-common
- Nainstalujte následující repozitáře:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
- Nainstalujte PHP-FPM 7 a požadované moduly.
yum install php70w-fpm-nginx php70w-cli php70w-mysqlnd php70w-fpm
Restartujte Nginx, MySQL a PHP-FPM, abyste zajistili načtení nejnovější verze. Také si můžete ověřit funkčnost vašeho webu WordPress.
Gratulujeme! Úspěšně jste nainstalovali PHP-FPM 7.
Pro ověření verze můžete provést následující:
[roo[email protected] init.d]# /usr/sbin/php-fpm -version PHP 7.0.16 (fpm-fcgi) (built: Feb 18 2017 10:46:38) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies [[email protected] init.d]#
Závěr
Doufám, že vám tento článek poskytl představu o tom, jak implementovat PHP-FPM 7 pro WordPress a jaké jsou jeho výkonnostní přínosy. Takže neváhejte a vyzkoušejte PHP-FPM 7 a užijte si rychle se načítající web WordPress.