PHP-versie updaten: waarom en hoe zonder kapotte site?
Uw hoster meldt dat uw PHP-versie verouderd is? Waarom updaten belangrijk is, wat er mis kan gaan en hoe u het veilig stap voor stap aanpakt.
Krijgt u van uw hoster of WordPress een melding dat uw PHP-versie verouderd is, dan is dat geen reclame maar een serieus onderhoudspunt.
Kort antwoord
PHP is de programmeertaal waarop WordPress en veel andere websites draaien. Oude versies krijgen na een paar jaar geen beveiligingsupdates meer, waardoor lekken open blijven. Updaten maakt uw site veiliger en vaak sneller, maar een oude plugin of een zelfgeschreven thema kan erdoor stukgaan. Daarom: eerst back-up, dan testen op een kopie, dan pas live omzetten.
Wat PHP is en waarom het verouderd raakt
Wanneer iemand een pagina op uw WordPress-site opent, voert de server PHP-code uit die de pagina opbouwt. Elke PHP-versie wordt een aantal jaren ondersteund: eerst met gewone verbeteringen, daarna alleen nog met beveiligingsupdates, en daarna helemaal niet meer. Op php.net staat per versie tot wanneer er ondersteuning is.
Draait uw site op een versie waarvoor die ondersteuning is gestopt, dan worden nieuw ontdekte lekken in PHP zelf niet meer gedicht. Daarnaast stoppen plugin- en themamakers op den duur met ondersteuning voor oude versies, waardoor u ook die updates niet meer kunt installeren.
Kijk in WordPress onder Gereedschap, Sitediagnose welke versie u nu gebruikt. Daar ziet u ook of WordPress de versie te oud vindt.
Wat er mis kan gaan
Nieuwe PHP-versies ruimen oude functies op en zijn strenger in wat ze accepteren. Code die jaren goed werkte, kan dan een fout geven. Meestal gaat het om:
- plugins die al lang niet meer zijn bijgewerkt
- oude of op maat gemaakte thema's
- eigen stukjes code in functions.php
- oude betaal- of verzendkoppelingen in webshops
Het gevolg kan een witte pagina zijn, een 500-fout, of een site die er goed uitziet maar waar één functie, bijvoorbeeld het contactformulier, niet meer werkt.
Zo pakt u het veilig aan
- Maak een volledige back-up van bestanden en database, en controleer dat u die kunt terugzetten.
- Werk eerst alles bij op de huidige PHP-versie: WordPress, thema en plugins. Veel compatibiliteitsproblemen zijn in nieuwere pluginversies al opgelost.
- Ruim op: verwijder plugins en thema's die u niet gebruikt. Plugins die al jaren geen update hebben gehad, vervangt u liefst door een actief onderhouden alternatief.
- Test op een kopie, een zogeheten staging-omgeving, met de nieuwe PHP-versie. Loop de belangrijkste pagina's en functies door: formulieren, inloggen, winkelmandje, afrekenen.
- Zet de live site om via het configuratiescherm van uw hoster. Bij veel hosters is dat een keuzelijst per domein.
- Controleer direct de site en kijk in het foutenlogboek of er nieuwe meldingen verschijnen.
- Weet hoe u terug kunt: bij de meeste hosters zet u met dezelfde keuzelijst de oude versie terug als er iets misgaat. Dat is een noodoplossing, geen eindstation.
Spring liever niet in één keer meerdere versies vooruit zonder testen. Ga stap voor stap, of test in ieder geval grondig.
Als het misgaat
Krijgt u na het omschakelen een witte pagina of een foutmelding, zet dan eerst de vorige versie terug zodat bezoekers niets merken. Daarna zoekt u in het foutenlogboek welke plugin of welk bestand de fout veroorzaakt. Vaak staat daar letterlijk de naam van de plugin in. Die werkt u bij, vervangt u of laat u aanpassen.
Veelgestelde vragen
Wordt mijn site sneller met een nieuwere PHP-versie?
Vaak wel. Nieuwere versies zijn over het algemeen efficiënter. Hoeveel u merkt, hangt af van de rest van de site.
Doet mijn hoster dit niet automatisch?
Sommige hosters zetten oude versies op een gegeven moment geforceerd om. Dan gebeurt het zonder test, op een moment dat u niet kiest. Beter om het zelf voor te zijn.
Welke PHP-versie moet ik kiezen?
Kies een versie die nog actief beveiligingsupdates krijgt en die uw WordPress-versie en plugins ondersteunen. Niet per se de allernieuwste op de eerste dag; even wachten tot plugins bij zijn is verstandig.
Hulp nodig?
Wilt u de PHP-update liever laten doen met test en terugvaloptie? Dat doe ik via WordPress-support, en voor webshops via WooCommerce-onderhoud.