PHP is vandaag de dag een van de populairste programmeertalen. Volgens W3Techs wordt PHP gebruikt door meer dan 77% van alle websites die een programmeertaal gebruiken op hun servers. Dit betekent dat 8 van de 10 websites die je bezoekt waarschijnlijk gebruik maakt van PHP. En het speelt natuurlijk een vitale rol in het ecosysteem van WordPress, omdat de gehele CMS is opgebouwd in PHP.

Wilt u snel uw PHP-versie controleren? Maak een phpinfo-pagina aan.

Een dilemma dat we tegenwoordig hebben, is dat bedrijven, ontwikkelaars en hosts achterblijven als het neerkomt op het ondersteunen van de nieuwste versies van PHP. Sommige van de onderstaande statistieken kunnen als schokkend worden ervaren. Vandaag willen we het hebben over waarom het zo belangrijk is dat iedereen de nieuwste versie van PHP gebruikt, niet alleen voor de veiligheid, maar ook voor betere performance en ondersteuning.

Oude versies van PHP

Zoals elke soort software heeft PHP een ontwikkelingscyclus waar het zich aan moet houden om te kunnen groeien en verbeteringen door te kunnen voeren.  Elke grote uitgave van PHP wordt standaard ondersteund voor twee jaar nadat het uitkomt. In die tijd worden bugs en veiligheidsproblemen regelmatig aangepakt.

Ondersteunde versies van PHP
Ondersteunde versies van PHP

Je kunt ook zien hoe de meer recente versies van PHP worden afgehandeld.

Momenteel ondersteunde versies van PHP
Momenteel ondersteunde versies van PHP

Einde levensduur PHP 5.6, 7.0, 7.1, 7.2, 7.3 en 7.4

Wanneer een versie het einde van zijn levensduur heeft bereikt, ontvangt deze geen beveiligingsupdates meer, waardoor deze is blootgesteld aan mogelijke beveiligingslekken.

  • Op 28 november 2022 was dit het geval voor PHP 7.4.
  • Op 6 december 2021 was dit het geval voor PHP 7.3.
  • Op 30 november 2020 was dit het geval voor PHP 7.2.
  • Op 1 december 2019 was dit het geval voor PHP 7.1.
  • Op 3 december 2019 bereikte PHP 7.0 het einde van zijn levensduur.
  • Eerder, op 31 december 2018 bereikte PHP 5.6 het einde van zijn levensduur. Dit betekent officieel het einde van het tijdperk van PHP 5, die het veld moet verlaten na 14 jaar trouwe dienst.

Volgens de officiële WordPress Stats-pagina gebruikt 55% van de WordPress-gebruikers op het moment van schrijven nog steeds PHP 7.4 of lager. Als je dit combineert met andere end-of-life PHP versies, dan gebruikt maar liefst 85% van de gebruikers momenteel PHP versies die vanaf november 2022 niet meer ondersteund worden.

Het is zelfs nog alarmerender als we de statistieken van buiten de WordPress-community in ogenschouw nemen. Volgens W3Techs maakt 22.9% van alle websites die op PHP draaien nog gebruik van PHP 5.

Dit is niet alleen schadelijk vanuit een beveiligingsperspectief. Het betekent ook dat een groot deel van WordPress-sites geen gebruik maakt van de extra prestatieverbeteringen van PHP 8.2.

WordPress statistieken over PHP-versies
WordPress statistieken over PHP-versies

Waarom de trage acceptatie van nieuwere versies?

De hoofdreden voor het gebrek aan implementatie van nieuwe versies komt neer op een aantal factoren:

  • De vaakst voorkomende reden die we horen van nieuwe klanten die overstappen naar Kinsta is dat bedrijfseigenaren geen idee hebben van of zich niet interesseren voor hun PHP-versie. Dit is natuurlijk begrijpelijk in sommige gevallen: we verwachten niet dat iedereen verstand heeft van PHP.  Vaak valt de verantwoordelijk bij de ontwikkelaar, het uitzendbureau of de host.
  • Het kost ontwikkelaars tijd om hun code bij te werken zodat ze de nieuwe versies van PHP ondersteunen. Dit is inclusief ontwikkelaars van websites, thema’s, plugins, enz.
  • Het kost niet alleen moeite en tijd om de code bij te werken, maar er moet ook uitvoerig worden getest om er zeker van te zijn dat alles compatibel is. WordPress zelf heeft al meer dan 49.000 plugins beschikbaar!
  • Veel WordPress-hosts zijn terughoudend over het doorvoeren van nieuwe PHP-versies omdat dit zou betekenen dat er een hoop extra support-tickets worden geopend als sites hierdoor niet meer werken. Als een applicatie, database en managed WordPress-host begrijpen we dit, maar uit onze ervaring is het meestal juist andersom. Veel support-tickets die worden aangemaakt worden juist veroorzaakt door problemen met oude versies van PHP.
  • De ontwikkelaar of het bureau bevindt zich tussen hamer en aanbeeld op het moment dat hij te maken krijgt met klanten en applicaties van een derde partij en geen middelen wilt uitgeven aan updaten.

Dat gezegd hebbende is het nog steeds geen excuus om een PHP-versie te gebruiken die verouderd is, niet wordt ondersteund, en mogelijk ook nog je website langzamer maakt. Het goede nieuws is dat er vooruitgang wordt geboekt. Je ziet dat PHP nog steeds een enorm marktaandeel heeft en dat het nergens heen gaat.

Redenen waarom je je PHP-versie moet updaten

Bekijk hieronder enkele redenen waarom wij adviseren om de laatste versie van PHP te gebruiken.

1. Veiligheid

Een van de belangrijkste redenen om PHP te updaten is om ervoor te zorgen dat je een PHP-versie gebruikt die volledig wordt ondersteund en regelmatig wordt beveiligd tegen kwetsbaarheden. PHP 5.4 is niet meer bijgewerkt sinds 2015 en PHP 5.5 is niet meer bijgewerkt sinds 2016. Het is echter belangrijk om op te merken dat sommige verkopers van besturingssystemen nog steeds updates uitbrengen voor oude versies van PHP.

Volgens CVE Details was 2016 een van de slechtste jaren voor de veiligheid van PHP, met meer dan 100 kwetsbaarheden die werden gerapporteerd. Deze kwetsbaarheden waren inclusief DoS, code-injectie, overflow, geheugencorruptie, XSS, het doorlopen van mappen, bypass en het verkrijgen van informatie. 2017 was het op-twee-na slechtste jaar sinds 2000, met meer dan 40 kwetsbaarheden.

Kwetsbaarheden in PHP per jaar
Kwetsbaarheden in PHP per jaar

Zelfs PHP heeft commentaar gegeven over het het belang van het gebruiken van de meest recente versie:

PHP, net zoals elk ander groot systeem, staat of valt met voortdurend onderzoek en verbeteringen. Elke nieuwe versie bevat grote en kleine aanpassingen om de veiligheid te verbeteren, gebreken te verhelpen, problemen op te lossen en andere kleine aanpassingen te doen die ten goede komen van de veiligheid en stabiliteit van je systeem. Net zoals bij andere systeemcode en -programma’s, is het aan te raden om vaak te updaten en op de hoogte te blijven van de nieuwe versies en wat erin verandert. PHP, Keeping current

Voorgesteld wordt om te lezen: Hoe kun je de PHP geheugenlimiet in WordPress verbeteren?

2. Performance

Met de release van PHP 7.2, 7.3, 7.4 en 8.0 zijn enorme prestatiewinsten behaald! 8.1 laat zelfs nog meer winst zien, en 8.2 is onlangs uitgebracht. Zo groot zelfs, dat het een prioriteit zou moeten zijn ten opzichte van veel van de kleine optimalisaties waar je misschien mee bezig bent op je WordPress site.

We hebben ook onze eigen PHP-benchmarks uitgevoerd. En vergelijkbaar met de benchmarks hierboven zagen we dat PHP 8.0 en 8.1 transacties (verzoeken) per seconde aanzienlijk sneller uitvoeren dan oudere versies.

Hoewel Kinsta PHP 7.4 niet meer ondersteunt, doen we dat wel voor de versies 8.0, 8.1, 8.2 en 8.3.

WordPress 5.9-RC2 PHP benchmarks
WordPress 5.9-RC2 PHP benchmarks

Christian Vigh heeft ook een PHP performancevergelijking uitgebracht waarin hij meldt dat PHP 5.2 400% langzamer was dan PHP 7.

Vergelijking van de resultaten van de CPU-benchmark
Vergelijking van de resultaten van de CPU-benchmark

3. Ondersteuning

Ondersteuning is nog een reden om over te stappen op de nieuwste en (meest) ondersteunde versies van PHP. Vaak kunnen ontwikkelaars van plugins en thema’s alleen ondersteuning bieden voor een beperkt aantal vorige versies. Dit komt vaak door tijdsdruk en het (daardoor) geen tijd hebben om te testen op compatibiliteit. Je website zal uiteindelijk niet meer werken op oude versies en je kunt dit zelf zien gebeuren op de WordPress-forums. Daar is een veel voorkomende fout die wordt veroorzaakt door een verouderde versie van PHP en hoe deze een bepaalde functie afhandelt:

Parse error: syntax error, unexpected '' (T_VARIABLE), expecting function (T_FUNCTION) in /pub/file.php on line xxx

Je kunt op de WordPress-forums zoeken naar “unexpected T Function” en je zult begroet worden door meer dan 2.000 threads, waarvan er veel van de afgelopen paar dagen zullen zijn. Hier zijn een aantal recente voorbeelden die allemaal zijn veroorzaakt door een oude versie van PHP:

Veel van deze threads worden geopend, omdat ze een verouderde versie van PHP gebruiken. Hetzelfde kan echter ook gezegd worden over threads die worden begonnen door incompatibiliteit met PHP 7. Dit geeft aan dat de WordPress-ontwikkelaarscommunity nog steeds bezig is om de vernieuwingen van PHP bij te benen.

4. Nieuwe features voor ontwikkelaars

De meeste WordPress-ontwikkelaars werken het liefst met de nieuwste versie van PHP als ze daarvoor de kans krijgen, omdat er veel nieuwe features zijn toegevoegd tussen PHP 5.2 en PHP 7.4. Een aantal aanpassingen van PHP 7 en 7.3 zijn:

  • Samengevoegde vergelijkingsoperator
  • Null verenigingsoperator
  • Nieuwe type-hinting
  • Anonieme classes
  • Null-bare types
  • Herhaalbare en void returns
  • Multi-catch afhandelen van exceptions
  • Sleutels die je kunt gebruiken in lists
  • Meer negatieve string-offsets
  • Nummeroperators en malformed numbers
  • HTTP/2 server push
  • Preloading
  • Spread operator in array expression
  • Arrow functions 2.0 (short closures)
  • Null coalescing assignment operator
  • Typed properties 2.0
  • Weak references
  • Covariant returns en contravariant parameters
  • Nieuw custom object serialization mechanisme

Het is niet leuk om oude versies te moeten ondersteunen. Helaas zitten veel ontwikkelaars vast aan het moeten ondersteunen van een breed scala aan versies.

Er zijn nog meer nieuwe mogelijkheden in PHP 8.0. Een aantal van de belangrijkste zijn:

  • Named arguments
  • Union types
  • Constructor property promotion
  • Custom object serialization
  • Match expression
  • Nullsafe operator
  • Verbeteringen in het type system en foutverwerking

En vlak daarachter komen PHP 8.1 en PHP 8.2. Beide bevatten nieuwe features, deprecaties en veranderingen.

Controleren of je host de nieuwste versie van PHP ondersteunt

Het heeft even geduurd, maar de officiële WordPress.org vereisten raden hosts nu aan om over te stappen op PHP 7.4 of hoger.

Yoast heeft laatst een geweldig artikel uitgebracht genaamd “Whipping your hosting into shape”. Joost de Valk vertelt in het artikel gedetailleerd over dat het daadwerkelijke probleem bestaat uit hostingproviders die niet sneller upgraden en, wanneer ze dat wel doen, niet genoeg doen om hun gebruikers aan te moedigen ook te upgraden. En Yoast gaat daar iets aan doen. Vanaf Yoast SEO 4.5 krijgen gebruikers een melding te zien op hun WordPress-dashboard wanneer hun site PHP 5.2 of lager gebruikt.  De melding is groot, lelijk en niet weg te klikken.

We zijn erg blij met Yoast! Kinsta heeft bij elke stabiele release de nieuwste versies van PHP ondersteund.

Update: PHP 8.2 (officiële release) is nu beschikbaar voor alle Kinsta klanten. PHP 7.4 wordt niet langer ondersteund bij Kinsta. Wij ondersteunen PHP versies 8.0, 8.1, 8.2 en 8.3.

We streven ernaar de snelste en veiligste omgeving binnen de industrie te hebben en dat betekent dat we moeten zorgen dat alle sites de laatste technologieën gebruiken die actief van beveiligingsupdates worden voorzien.

Bekijk onze uitgebreide gids met stapsgewijze instructies voor het veilig updaten van PHP op je WordPress-site.

Je huidige versie van PHP bekijken

Misschien weet je niet welke versie van PHP je momenteel gebruikt. In dat geval zijn er verschillende manieren om erachter te komen.

1. Bekijk je versie van PHP met Pingdom

Een van de makkelijkste manieren om erachter te komen welke versie van PHP je hebt is om een tool te gebruiken zoals Pingdom of Google Chrome Devtools. De eerste HTTP-requestheader zal je meestal de versie laten zien.

Bekijk je versie van PHP met Pingdom
Bekijk je versie van PHP met Pingdom

Dit ligt eraan of de host de X-Powered-By-headerwaarde heeft aangepast. Als ze dat wel hebben gedaan, zie je misschien niet je PHP-versie, in welk geval je een van de andere opties moet gebruiken. Je kunt altijd contact opnemen met je host en het vragen.

2. PHP-versie controleren in WordPress

Als je WordPress 5.0 of hoger gebruikt, kan je de PHP-versie bekijken onder de tool “Site Health”.

WordPress Site Health Tool PHP versie
WordPress Site Health Tool PHP versie

3. Bekijk je versie van PHP met een bestand

Je kunt ook bekijken welke versie van PHP je hebt door een bestand naar de server te uploaden via FTP.

Stap 1

Maak een leeg bestand aan dat phpinfo.php heeft. In het bestand plak je de volgende inhoud:

<?php
echo 'Current PHP version: ' . phpversion();
?>

Stap 2

Upload het bestand naar de root van je WordPress-site.

Upload phpinfo.php-bestand
Upload phpinfo.php-bestand

Stap 3

Navigeer dan in je browser naar de locatie van je bestand, domein.nl/phpinfo.php. Als het goed is zie je dan je huidige PHP-versie.

Bekijk je versie van PHP in de browser
Bekijk je versie van PHP in de browser

Wat moeten technofoben en mensen met een klein budget doen?

We realiseren ons dat er nog steeds duizenden WordPress-sites zijn die niet compatibel zijn met onze nieuwere PHP-versies, of het nou ligt aan een oude plugin of een oud thema. De uitdaging ligt bij de de minder technische gebruikers en degenen zonder budget, wat moeten die doen? We hebben hier constant mee te maken wanneer klanten overstappen naar Kinsta of wanneer een PHP-versie zijn end-of-life bereikt.

Hier zijn een aantal aanbevelingen:

  1. Dit is een gegeven, maar update altijd je plugins en thema’s naar de nieuwste versie als je dat niet al hebt gedaan.
  2. Neem contact op met de ontwikkelaar van de plugin of het thema en vraag of ze ondersteuning voor PHP 7.2, 7.3, 7.4 of 8.0 (of een nieuwere versie) willen toevoegen. We laten onze klanten weten wanneer een PHP-versie uitgefaseerd wordt zodat ze tijd hebben om zich hierop voor te bereiden. Dit is vooral belangrijk voor degenen zonder budget om een ontwikkelaar in te huren.
  3. Zoek een alternatieve plugin die dezelfde functionaliteiten aanbiedt en wel compatibel is met de huidige versie van PHP. Met dank aan de enorme bibliotheek van WordPress en de duizenden premium plugins en thema’s op het internet kun je er bijna van gegarandeerd worden dat er overal een alternatief voor is.
  4. Degenen die wel een budget hebben kunnen een WordPress-ontwikkelaar aannemen om het probleem op te lossen.

PHP updaten

Klaar om te updaten? Top, maar een van de eerste dingen die je moet doen is je site testen om er zeker van te zijn dat hij compatibel is. Je kunt je WordPress-site lokaal testen, of nog beter, gebruik maken van een testomgeving die dichter bij de werkelijk ligt. Voorkomen is beter dan genezen!

Als je een klant bent bij Kinsta kun je gemakkelijk een testomgeving aanmaken met een enkele muisklik. Verander de versie van PHP in het dashboard en begin met testen.

Een WordPress-site aanmaken binnen een testomgeving
Een WordPress-site aanmaken binnen een testomgeving

En onthoud, als je upgradet van een oude versie van PHP, zorg er dan voor dat je ook de versie van je WordPress-installatie updatet. Een nieuwe versie van PHP met een 2 jaar oude versie van WordPress zal waarschijnlijk niet goed aflopen. Wanneer je je site hebt getest en klaar bent om PHP te updaten, zijn hier een aantal bronnen om je op weg te helpen.

Bekijk onze uitgebreide gids met stapsgewijze instructies voor het veilig updaten van PHP op je WordPress-site.

PHP updaten met Kinsta

Als je een Kinsta-klant bent, dan kan je eenvoudig de PHP-versie wijzigen door naar je website te navigeren binnen MyKinsta, naar ‘Tools’ te gaan en een andere PHP-engine te selecteren. We hebben momenteel PHP [php-versies conjunction=”en”] beschikbaar.

Wisselen van PHP versie
Wisselen van PHP versie

Bij Kinsta bevat onze PHP opstelling een custom zelfherstellende functie. Dit betekent dat de kans groot is dat de PHP engine van je site uit zichzelf opnieuw opstart wanneer deze uitvalt. In het geval deze automatische PHP herstart niet lukt, zal ons monitoringsysteem ons sysadmin-team waarschuwen om het probleem te onderzoeken.

PHP updaten vanuit cPanel

Als je host gebruik maakt van cPanel heb je waarschijnlijk al een optie om je versie van PHP te veranderen. Log simpelweg in op cPanel en klik in de categorie “Software” op “Select PHP Version.”

Selecteer PHP-versie in cPanel
Selecteer PHP-versie in cPanel

Je kunt dan een van de beschikbare PHP-versies kiezen die worden ondersteunt door je host.

php 7 cpanel
PHP 7 in cPanel

PHP handmatig updaten op een server

Als je je eigen server beheert raden we je aan om de officiële PHP-documentatie over installaties te bekijken, aangezien de instructies verschillen per besturingssysteem. Je zult willen kijken naar de veranderingen aan functies, classes, wrappers, extenties, modules, enz. Hier zijn een aantal links naar migratiehandleidingen:

Samenvatting

Nu is het tijd om na te denken over upgraden naar PHP 8.0, 8.1 of 8.2. Niet alleen omdat je ondersteunde software wilt draaien, maar ook omdat je website er gegarandeerd sneller van wordt!  Als je huidige host nog geen ondersteuning aanbiedt voor PHP 8.0, 8.1 of 8.2, raden we je aan om een nieuwe host te zoeken. Hetzelfde geldt voor thema’s en plugins. Als de ontwikkelaar nog geen patch heeft uitgebracht, is het tijd om op zoek te gaan naar een alternatief.

Ben je recentelijk gemigreerd naar PHP 8.0, 8.1 of 8.2? We luisteren graag naar je ervaringen hieronder. Was het een makkelijke overgang? Of misschien wacht je nog steeds op een derde partij.

Brian Jackson

Brian heeft een enorme passie voor WordPress, gebruikt het al meer dan tien jaar en heeft zelfs al aantal premium plugins ontwikkeld. Brian houdt van bloggen, films en hikes. Kom in contact met Brian op Twitter.