PHP 7

Een aantal weken geleden hebben we PHP 7 gereleased op het clusterplatform. Sindsdien zijn er al een aantal Joomla! sites overgestapt, en met succes. Eerder schreven we al over de voordelen van PHP 7. Hoog tijd om nu eens naar de praktijk te kijken. Waar lopen developers tegenaan tijdens het migreren naar PHP 7 en wat levert het op?

Een van onze partners die meteen enthousiast reageerde op het nieuws dat we PHP 7 ready waren, was Joris Lange van Smart Joomla Websites. Hij heeft de website van portretschilder Bo Bakker (een Amsterdamse kunstenaar met een internationale klantenkring) omgezet naar PHP 7. Deze website draait op Joomla! 3.5 en heeft weinig extensies en een eigen responsive template op basis van bootstrap 3. “Er staan uiteraard veel foto’s op de website, maar het is wel heel erg belangrijk dat de site snel blijft aanvoelen en het goed doet in de zoekmachine ranking”.

De overstap naar PHP 7

De Joomla! core is vanaf versie 3.5 geoptimaliseerd voor PHP 7. Hierdoor is het redelijk eenvoudig om je site van PHP 5.6 naar PHP 7 over te zetten. Het enige dat roet in het eten kan gooien zijn de extensies en templates die je geïmplementeerd hebt. Je zult voor elke extensie moeten nagaan of deze PHP 7 ready is. En zelfs dan heb je nog geen garantie dat de overstap vlekkeloos verloopt.

Eerst grondig testen

Joris raadt daarom ook aan om de werking van PHP 7 eerst grondig te checken in een lokale omgeving op een complete actuele kopie van je site. Op die manier kan je zonder dat je bezoekers het merken, aanpassingen maken en je site debuggen. Joris gebruikt ook altijd Joomla!’s foutopsporingsconsole (onder Algemene instellingen > Systeem > Foutopsoring systeem). Deze laat zien of er geen verborgen problemen zijn.

Als je geen lokale omgeving hebt, is het mogelijk om ook rechtstreeks in de live site te testen. Door een kleine aanpassing in de .htaccess file, kan je PHP 7 afdwingen voor alleen het site-bezoek vanaf jouw eigen IP-adres. Alle andere bezoekers merken hier niks van en zien jouw site met de standaard ingestelde PHP versie.

Gebruik hiervoor onderstaande code:

Achterhaal dus jouw eigen IP-nummer (even geen proxy-server gebruiken), vul dat (bij de xxx’en) in en check of daarna voor jouw bezoek inderdaad PHP 7 wordt gebruikt (met een phpinfo-file of in Joomla! onder Systeeminformatie). Meer informatie hierover staat ook op onze Kennisbank.

De resultaten met PHP 7

Joris heeft de resultaten eerst op een lokale ontwikkelserver gemeten. De invloed van PHP 7 is hierop makkelijk te meten. Onder gelijke omstandigheden blijkt de winst van PHP 7 enorm en stabiel te zijn. De laadtijden halveren en de geheugenbelasting neemt met één derde af.

Op de hosting server fluctueren de resultaten zo sterk dat het verschil minder overtuigend is aan te tonen. Dit komt ook omdat de externe test-tools vaak vanuit andere continenten opereren. Toch is de site beleving met PHP 7 een stuk sneller, zowel back-end als front-end.
Om de metingen zo puur mogelijk te houden heeft Joris de caching-technieken en GZip uitgezet.

15% snellere laadtijden

Om de laadtijden te testen heeft Joris GTmetrix (Pageload) en Firebug (waterval in Net panel) gebruikt. Omdat de resultaten fluctueren, heeft hij elke test vijf keer uitgevoerd en deze resultaten gemiddeld genomen. De laadtijden liggen zo’n 15% lager bij PHP 7.

PHP 5.6 PHP 7 Verbetering %
GTmetrix Pageload (sec) 3,9 3,2 – 17,9%
Firebug Pageload (sec) 1,47 1,26 – 14,3%

 

30% minder geheugengebruik

Ook interessant zijn de metingen in de Foutopsporingsconsole van Joomla!. Hiermee is het mogelijk om de snelheid (totale verwerkingstijd van alle PHP processen voor het opbouwen van de pagina) en het geheugengebruik binnen de server-omgeving precies na te gaan. Omdat deze resultaten ook fluctueren heeft Joris wederom het gemiddelde genomen van vijf verschillende metingen.

PHP 5.6 PHP 7 Verbetering %
Geheugengebruik (MB) 14,9 10,1 – 31,8%
Snelheid (ms) 581,1 396,3 – 31,8%

 

Resultaten uit de Foutopsporingsconsole van Joomla!

Ook in onderstaande afbeeldingen uit de Joomla! Foutopsporingsconsole is het verschil nog eens goed te zien. In bijna alle stappen is PHP 7 beduidend sneller.

Joomla! PHP 5.6

Resultaten met PHP 5.6

PHP 7

Resultaten met PHP 7

Joris’ advies: stap over naar PHP 7

“Ik ben heel blij met PHP 7. Snelheid is belangrijk voor de gebruikservaring, maar ook steeds meer een factor van belang voor zoekmachines. Winst voor de bezoekers dus, maar ook voor de opdrachtgever en voor de provider (die toch ook tevreden zal zijn met afnemend geheugengebruik). Ik zou iedereen daarom ook adviseren om een uurtje tijd te investeren en de overstap naar PHP 7 te maken.”

Wil je meer weten over het overstappen naar PHP 7? Lees dan het Kennisbankartikel: overstappen naar een nieuwe PHP versie.

Scan je eigen Magento shop op veiligheidslekken