Wat is PHP 7 en hoe kan ik het met WordPress gaan gebruiken?
- Door Sourav Kundu
- May 15, 2019
PHP 7 is een van de meest significante updates in de geschiedenis van een server-side software die meer dan 82% van het internet aandrijft, en in deze gids bespreken we de ins en outs van het gebruik ervan met WordPress.
We kijken naar de ongelooflijke voordelen van PHP 7, en helpen je te begrijpen hoe belangrijk het is om je aan de aanbevolen minimumversie (5.6) te houden. U leert ook hoe u kunt controleren of uw WordPress site klaar is voor PHP 7, en meet de voors en tegens van het upgraden naar deze nieuwe versie.
Aan het eind van deze gids zult u uitgerust zijn met een stevig begrip van PHP, en overtuigd genoeg om te updaten naar het aanbevolen minimum – of misschien zelfs de volgende stap te zetten naar PHP 7!
Laten we beginnen…
Een beginnershandleiding voor PHP – Wat is PHP?
Voor degenen onder u die absoluut nieuw zijn bij het onderwerp, PHP is een server-side scripting taal die is ontworpen om HTML-pagina’s te genereren op verzoek.
Denk aan het als een eenvoudig proces in drie stappen:
- Input: U voert een reeks commando’s in, geschreven in de vorm van een PHP-script, als invoer voor de PHP Engine.
- Verwerking: De PHP Engine voert het script uit op de server.
- Uitvoer: De output is een HTML-pagina die door de webbrowser wordt gerenderd.
In het hierboven beschreven driestappenproces kunnen we een paar componenten identificeren.
- Het (de) PHP-script(s)
- PHP Engine
- Server
- Uitvoerende HTML
Laten we nu eens kijken hoe deze zich verhouden tot een typische WordPress-omgeving.
1) PHP-scripts: WordPress is in wezen een grote, georganiseerde verzameling code die is geschreven in meerdere scripttalen, zoals PHP, JavaScript en CSS, waarvan PHP de belangrijkste is. Het is wat WordPress zijn dynamische karakter geeft.
2) PHP Engine: Zie het als het centrale onderdeel dat de instructies uitvoert die zijn vastgelegd in het PHP script – dit met de hulp van de server waar het op draait. De PHP Engine is een van de meest cruciale componenten, en beïnvloedt de snelheid, prestaties en betrouwbaarheid van een website. Het is ook het centrale onderwerp van onze discussie!
3) Server: Dit is de externe computer, ook wel bekend als de ‘webhost’, waar uw WordPress site wordt gehost. Als er een webhost zou zijn zonder PHP geïnstalleerd, zou WordPress er niet op draaien.
4) Uitvoer HTML: Telkens wanneer een WordPress website wordt geladen, wordt de PHP motor opgeroepen. Scripts worden uitgevoerd door de PHP engine met behulp van de server, en de uiteindelijke (of output) HTML wordt geëxporteerd naar de webbrowser van de bezoeker. En daarmee is het proces voltooid.
Wat is PHP 7?
Nu duidelijk is wat een PHP script is, laten we het eens hebben over de PHP Engine. Voor de rest van het artikel zullen we de termen ‘PHP-engine’ en ‘PHP’ synoniem gebruiken.
PHP 7 is een PHP-engine die in december 2016 werd gelanceerd en een overvloed aan nieuwe functies, prestatieverbeteringen en beveiligingsverbeteringen met zich meebrengt. Zoals met elke goede les, laten we beginnen met een beetje geschiedenis.
Een korte geschiedenis van PHP
PHP werd in 1994 uitgebracht als een scripttaal door Rasmus Lerdorf in een poging om een tool te maken die het bijwerken van zijn persoonlijke homepage gemakkelijk zou maken. *Hij wist niet dat dit project zou uitgroeien tot meer dan 82% van alle websites, waaronder grote namen als Facebook en WordPress.
Over de jaren heen heeft PHP een aantal releases gehad. De eerste was in 1995, gevolgd door versie 2.0 in 1997. Versie 3.0 kwam uit in 1998, gevolgd door versie 4.0 in 2000.
Is het de anticipatie die PHP 7 speciaal maakt?
Daar begon het interessant te worden. PHP versie 5 werd vier jaar later uitgebracht, in 2004. Er volgden meerdere iteraties – zo veel dat het comité besloot om versie 6 over te slaan en naar versie 7 te springen. Om de zaken in perspectief te plaatsen, de eerste iteratie van PHP 5 was versie 5.0, uitgebracht in 2004. De laatste iteratie, PHP 5.6, werd tien jaar later uitgebracht in 2014.
Twee jaar later kwam PHP 7 – de meest veelbelovende release van PHP tot nu toe. In wezen heeft de wereld een goede 12 jaar moeten wachten om PHP 7 in handen te krijgen.
Prestatieverbeteringen in PHP 7
Het wachten is niet voor niets geweest. PHP 7 kwam met een vrachtwagenlading van prestaties en veiligheidsverbeteringen. Laten we eens kijken naar elke prestatieverbetering, ondersteund door solide benchmarks.
1) Sterk verbeterde bandbreedte (verzoeken per seconde)
PHP 7 presteerde bijna twee keer zo goed als PHP 5.6, terwijl WordPress 4.1.1 werd uitgevoerd.
In de bovenstaande grafiek zien we bijna 2.18 keer het aantal verzoeken per seconde bij minder dan de helft van de latency.
2) Lagere latency voor gelijktijdige gebruikers
Latency is de hoeveelheid tijd die verstrijkt tussen het eerste verzoek en het eerste antwoord tussen de server en de client. Hoe lager de latentie, hoe beter de service. Laten we eens kijken hoe PHP 7 hiermee omgaat.
We hebben drie datapunten genomen op basis van het aantal gelijktijdige gebruikers voor elke PHP-engine.
- De oranje balken geven de latentie weer wanneer tien mensen tegelijkertijd uw site gebruiken.
- De blauwe balken zijn voor het dubbele (d.w.z. 20 gelijktijdige gebruikers).
- De roze balken zijn voor 40 gelijktijdige gebruikers.
In alle gevallen, PHP 7 klopt zijn voorgangers uit het park.
*Dit alles in de *exacte zelfde hardware! Dit betekent dat als je zou upgraden naar PHP 7 met alle noodzakelijke compatibiliteitscontroles op hun plaats (hierover later meer), je een tweevoudige toename in prestaties zou moeten zien.
3) WordPress 4.0+ Releases zijn geoptimaliseerd voor PHP 7
WordPress 4.0 zelf is nauwkeurig afgestemd om de nieuwste functies van PHP 7 te benutten. Volgens Zend presteert WordPress 4.0 bijna twee keer zo goed op dezelfde hardware als zijn voorganger, WordPress 3.6.
In de bovenstaande grafiek zien we dat de prestaties bij een grote WordPress-update twee keer zo goed zijn geworden. Deze benchmark is onafhankelijk van de versie van PHP. Het is eerder een indicatie dat de WordPress-gemeenschap voortdurend code optimaliseert voor de komende versies van PHP.
4) 75% Minder Instructies, Zelfde Resultaat
PHP 7 heeft ook een killer instructieset. Het is extreem geoptimaliseerd om dezelfde taak in minder instructies uit te voeren. Bijvoorbeeld, een WordPress verzoek op PHP 5.6 wordt uitgevoerd in 100 miljoen CPU instructies. Terwijl in PHP 7, hetzelfde verzoek wordt uitgevoerd in 25 miljoen CPU instructies. Dat is een vermindering van 75% in het aantal commando’s dat nodig is om dezelfde taak uit te voeren!
5) Aanzienlijke prestatiewinst
Jason Cosper, de nerd bij WP Engine, houdt ervan om met de nieuwste PHP-engines te experimenteren om te zien welke het beste werken.
In een van zijn experimenten vond hij dat PHP 7 aantoonbaar 6.6 keer sneller dan PHP 5.5 – met WordPress 4.3.1 en bbPress.
State of WordPress PHP in Q1 2017
Nu we een functioneel begrip hebben van de voordelen van PHP 7, laten we eens kijken hoeveel WordPress-gebruikers het gebruiken.
Het goede: Volgens de officiële WordPress-statistieken heeft 9% van de WordPress-gemeenschap vanaf 20 april 2017 een upgrade naar PHP 7 uitgevoerd.
Het Goed: Ongeveer 40% van de WordPress-gebruikers gebruikt PHP 5.6. Dit is relatief goed nieuws, aangezien PHP 5.6 beveiligingsondersteuning krijgt tot 31 december 2018.
The Ugly: Het echt slechte nieuws is echter dat meer dan 50% van de actieve WordPress-sites een versie van PHP gebruikt die ouder is dan 5.6, waardoor al deze sites worden blootgesteld aan ernstige kwetsbaarheidsproblemen.
- PHP 5.4 is sinds 2015 niet meer gepatcht.
- En PHP 5.5 is sinds 2016 niet meer gepatcht.
- Als je een versie gebruikt die ouder is dan 5.4, is PHP 5.4 sinds 2015 niet meer gepatcht.
- Als je een versie gebruikt die ouder is dan 5.6.6 (later meer over hoe je je PHP-versie kunt controleren), update dan onmiddellijk je PHP-versie.
Een baken van hoop
Joost de Valk, oprichter van Yoast SEO – een WordPress SEO-plugin met meer dan 3 miljoen actieve installaties – besloot hier iets aan te doen. Om uit het oorspronkelijke artikel te citeren:
Met ingang van Yoast SEO 4.5 zullen we beheerders van sites die op PHP 5.2 draaien een melding op het WordPress-dashboard laten zien. Deze mededeling zal groot, lelijk en ondismisselijk zijn. In deze mededeling leggen we uit waarom de beheerder de PHP-versie van de site moet upgraden.
WordPress en verouderde versies van PHP
Op dit punt is het belangrijk om erop te wijzen dat WordPress oudere versies van PHP zal blijven ondersteunen. Dit betekent niet dat u rustig achterover kunt leunen. Het is in ons belang om te upgraden naar 5.6 – zo niet naar PHP 7.
Als je op PHP 5.6 zit, komen er binnenkort een paar dingen op je pad:
- Volgens de officiële PHP-ondersteuningstijdlijn zou PHP 5.6 officiële ondersteuning krijgen tot 17 jan 2017. Dat is afgelopen.
- Nog beter nieuws, PHP 5.6 zou beveiligingsondersteuning krijgen tot 31 december 2018.
- Natuurlijk mis je nog steeds alle prestatieverbeteringen die je zou kunnen krijgen voor absoluut geen investering.
Switching to PHP 7 – Is It Worth It?
Nu we een goed begrip hebben van de verschillende voordelen van PHP 7, laten we ons richten op de cruciale vraag: Moet je overstappen op PHP 7?
De methode om tot een beslissing te komen, moet gebaseerd zijn op logica. We zullen deze drie basisvragen behandelen:
Wat zijn de voordelen van het overstappen naar PHP 7?
We hebben vijf punten behandeld die worden ondersteund door benchmarks van over het hele web. Al deze punten wijzen op een groot aantal voordelen, en op een volmondig ‘ja’ als het gaat om de beslissing om over te stappen.
Zijn uw WordPress-thema en -plugin(s) compatibel met PHP 7?
Het feit dat WordPress compatibel is met PHP 7 (en achterwaartse compatibiliteit heeft met PHP 5.6), betekent niet dat alle thema’s en plugins dat ook zijn. Het is mogelijk dat u een thema of plugin op maat gebruikt die functies heeft die in PHP 7 zijn afgeschreven. Het kan ook zijn dat je een plugin uit de WordPress repository gebruikt die al een tijdje niet meer is bijgewerkt. Wat is de oplossing?
Hoe kun je controleren of je WordPress site klaar is voor PHP 7?
Gelukkig hebben de gulle ontwikkelaars van WP Engine een behoorlijk geweldige plugin gemaakt die dit probleem oplost.
Inleiding tot de PHP Compatibility Checker: Een plugin die je WordPress code base en actieve thema plugins scant op zoek naar bekende compatibiliteitsproblemen.
Ondersteunde PHP versies van de PHP Compatibility Checker Plugin
Je kunt controleren op compatibiliteitsproblemen voor vijf verschillende versies van PHP, variërend van 5.3 tot 7.0.
(klik om te vergroten)
De compatibiliteitsproblemen (indien gevonden) worden gecategoriseerd in fouten en waarschuwingen. De plugin geeft een lijst van het bestand en regelnummer van de code die niet compatibel is, samen met informatie over waarom die code niet compatibel is met de gekozen versie van PHP.
Er zijn echter een paar beperkingen:
- De plugin kan geen runtime compatibiliteitsproblemen detecteren, omdat het geen van de bestaande thema’s en plugins uitvoert.
- Het is afhankelijk van WP-Cron om bestanden op de achtergrond te scannen, dus WP-Cron moet zijn ingeschakeld en werken op de server.
- Occasioneel worden fout-positieven gemeld omdat de plugin geen ongebruikte codepaden kan detecteren die mogelijk worden gebruikt voor achterwaartse compatibiliteit.
Steekproeflijst van plugins die worden ondersteund door PHP Compatibility Checker.
Al met al een aardige plugin die u kan vertellen of uw WordPress-stack klaar is voor de upgrade!
Wat zijn de gevaren van het niet overstappen op PHP 7?
De volgende drie punten leggen uit wat de nadelen zijn van het niet upgraden naar het aanbevolen PHP 7. Ze belichten ook enkele van de mogelijke gevaren van het niet upgraden naar de vereiste minimumversie, PHP 5.6.
4.1 Prestatiedaling: Ten eerste zou je minstens een tweevoudige prestatieverhoging missen zonder ook maar een cent te investeren. En raad eens wat? Als je PHP 5.2 gebruikt, is dat naar verluidt 400% langzamer dan PHP 7!
4.2 Veiligheidsproblemen: PHP 5.x had een overvloed aan kwetsbaarheden die naar behoren werden gepatcht met de nieuwere versies. 2016 was zelfs een recordjaar voor beveiligingslekken in PHP, met meer dan 100 gerapporteerde problemen, variërend van Denial of Service (DoS) tot geheugencorruptie, uitvoering van kwaadaardige code, enzovoort.
Om je een idee te geven van hoe erg de situatie is: PHP 5.4 is sinds 2015 niet meer gepatcht en wordt niet meer ondersteund. En toch gebruikt 21% van de WordPress-gebruikers nog steeds PHP 5.4! Als u tot die groep behoort, moet u vandaag nog updaten naar 5.6.
4.3 Broken Plugins: Het gebruik van een oudere, niet-ondersteunde versie van PHP leidt tot pluginconflicten. Een van de meest opvallende fouten is de ‘unexpected T_Function’, zoals hieronder te zien is.
Screenhot van support thread van de Content Locker plugin
De bovenstaande screenshot is een support query voor de Content Locker plugin. De auteur vermeldt duidelijk dat de minimale versie van PHP die nodig is om de plugin te laten werken 5.4 is.
Succesverhalen
Het is altijd bemoedigend om te zien hoe verschillende organisaties over de hele wereld profiteren van de upgrade.
5.1) Een fortuin bespaard voor Badoo
Het eerste voorbeeld is dating-app Badoo, die meer dan 1 miljoen dollar heeft weten te besparen door te upgraden naar PHP 7. Hoe? Simpel! PHP 7 verminderde de hoeveelheid rekenkracht die nodig is om dezelfde taak uit te voeren. Er waren dus minder servers nodig om hetzelfde werk te doen, waardoor uiteindelijk zo’n 300 servers vrijkwamen!
5.2) Grote prestatieverbetering voor Clinton Electronics
Het tweede succesverhaal komt van een klant van WP Engine, Clinton Electronics. In een notendop, ze wilden een dynamische ecommerce winkel met snelle laadtijden. De gekozen stack was WordPress, samen met WooCommerce. Het bureau waarmee ze samenwerkten koos WP Engine als managed WordPress hosting provider, die op zijn beurt PHP 7 aanraadde. Deze upgrade zorgde er uiteindelijk voor dat de laadtijd van de website met maar liefst 60% afnam!
Hoe overschakelen naar PHP 7 met WordPress?
Zorg er allereerst voor dat uw huidige WordPress-stack compatibel is met PHP 7 met behulp van de PHP Compatibility Checker plugin. Zodra de plugin geeft je een groen licht, ga dan verder met de upgrade.
- Als u gebruik maakt van shared WordPress hosting, zoals Bluehost, kunt u uw versie van PHP bijwerken in vier eenvoudige stappen. Bijna alle shared WordPress hosting providers komen met een cPanel of een aangepast toegangspaneel waarin u de versie van PHP kunt wijzigen.
- Als u gebruik maakt van een managed WordPress hosting provider, zoals WP Engine, is het overschakelen naar PHP 7 een fluitje van een cent – neem contact op met hun support, en ze hebben het in een handomdraai voor elkaar.
WPEngine PHP FAQ pagina, opgehaald: 26 apr, 2017
WP Engine PHP FAQ pagina, opgehaald: 26 april 2017
Goed nieuws voor WP Engine gebruikers is dat de minimaal toegestane versie van PHP 5.6 is, volgens hun FAQ pagina.
Waarom WP Engine? Er zijn een groot aantal voordelen die WP Engine nog aantrekkelijker maken:
- Innovatieve WordPress technologie.
- Snelle servers die in staat zijn om honderden miljoenen verzoeken per dag te verwerken.
- Hardcore beveiliging met geavanceerde DDoS-bescherming.
- Superieure ondersteuning.
Ze zitten nu een paar jaar in het vak, en hebben topmerken voor zich gewonnen, zoals National Geographic en AMD. Wat ik persoonlijk het leukst vind aan WP Engine is hun cultuur van teruggeven aan de gemeenschap – of het nu gaat om het sponsoren van WordCamps, het hosten van evenementen, of het bouwen van geweldige gratis plugins, zoals de PHP Compatibility Checker.
Als u een upgrade overweegt, of op zoek bent om uw huidige hosting provider te veranderen, zouden we WP Engine ten zeerste aanbevelen als uw beheerde WordPress hosting provider, met plannen vanaf $ 29 per maand.
Wrapping Up
Laten we snel alles samenvatten wat we tot nu toe hebben geleerd:
- PHP is de krachtbron van 82% van het internet, het aandrijven van sites zoals Facebook en WordPress.
- De aanbevolen minimale versie van PHP is 5.6 – alles daaronder is een grote no-no!
- PHP 7 heeft aanzienlijke verbeteringen op het gebied van prestaties, beveiliging en functies – het verhoogt de prestaties van WordPress gemakkelijk met 2x zonder extra hardware.
- Omschakelen van WordPress naar PHP 7 brengt een groot aantal voordelen met zich mee zonder enige investering.
- Hoewel, voordat u overschakelt, moet u ervoor zorgen dat uw WordPress setup klaar is om te worden opgewaardeerd naar PHP 7 met behulp van de PHP Compatibility Checker plugin.
- Shared hosts zoals Bluehost ondersteunen PHP 7, maar het moet handmatig worden ingeschakeld.
- Beheerde WordPress-hosts zoals WP Engine hebben een rotsvaste compatibiliteit met PHP 7.
Aan het einde van de dag, PHP blijft verbeteren met elke release. Als u WordPress gebruikt met alleen de populaire plugins, kunt u veel winnen door te upgraden naar PHP 7. Als je echter veel aangepaste of weinig geüpdatete plugins gebruikt, is het misschien beter om nog een paar maanden te wachten alvorens te upgraden. Het is echter noodzakelijk dat u PHP 5.6 gebruikt en niets daaronder!
Gebruikt u al PHP7 met WordPress? Gedachten?