Je bent hier waarschijnlijk terecht gekomen via onze support afdeling of door een bericht in je WordPress installatie. We willen je hier meer informatie geven over:

  • Wat is PHP en waarom moet je dit weten?
  • Welke versies van PHP zijn er beschikbaar en wat gebeurt er met oude versies?
  • Hoe kan je je site updaten naar de laatste versie?


Wat is PHP?

PHP (Hypertext Preprocessor) is een programmeertaal die door WordPress gebruikt wordt. WordPress is het Content Management Systeem waar wij ons als Savvii in specialiseren. Als iemand je website die je bij ons hebt geplaatst bezoekt, dan voeren onze servers deze PHP code uit. Het resultaat is een webpagina (in HTML/CSS/JS/ et cetera) die naar de bezoeker gestuurd wordt. De PHP code is dus verantwoordelijk voor het afhandelen van vrijwel alle verzoeken aan je website, dat houdt dus ook in: wachtwoorden, bankgegevens en andere privé zaken. Mede om deze reden moet de code veilig en snel zijn. Aangezien mensen steeds slimmer worden en steeds sneller en vaker ook misbruik kunnen maken van code, moet de PHP code altijd up-to-date blijven. 


PHP versies

De ontwikkelaars van PHP brengen om de zoveel tijd een nieuwe versie uit. Dat betekend dat dezelfde ontwikkelaars met elke nieuwe versie hun focus steeds meer verplaatsen van oude versies naar nieuwe versies. Hierdoor stopt de ontwikkeling van oude versies op een gegeven moment compleet en wordt deze niet meer beveiligd tegen nieuw gevonden bugs en manieren om de code te misbruiken. Hopelijk klinkt het logisch dat je deze versies vanaf dat moment niet meer moet gebruiken. Op het moment van schrijven (oktober 2018) worden er nog 5 versies van PHP onderhouden, maar aan het eind van 2018 zal onderhoud aan de twee oudste versies stoppen. Wij als Savvii hebben daarom besloten om hetzelfde moment aan te houden om deze code versies van ons platform te verwijderen. Hieronder staat een lijst met de huidige PHP versies en de datum waarop deze "End Of Life" (ontwikkeling stopt) raken:

  • PHP 5.6 (alleen nog beveiligings-updates) - EOL: 31 december 2018
  • PHP 7.0 - EOL: 3 december 2018
  • PHP 7.1 - EOL: 1 december 2019
  • PHP 7.2 - EOL: 1 december 2020
  • PHP 7.3 (momenteel alleen een ontwikkelversie)

(Bekijk de officiële PHP website voor aanvullende informatie)


En jouw website?

Draait jouw website nog op PHP 5.6 of 7.0? Dan wordt het snel tijd om deze te updaten naar een nieuwe PHP versie. 


Als het je niet heel erg uit maakt of je website even niet bereikbaar is:

Dit is een relatief makkelijk proces, maar houd het volgende even in je achterhoofd:

Zorg er voor dat je website, plugins en thema's up to date zijn voordat je je PHP versie update. Dit voorkomt al een hoop problemen.

  1. Log in op ons controlepaneel, navigeer naar het beherpaneel van je website en bekijk de PHP versie (onthoud deze voor als je nog terug wil veranderen).
  2. Optioneel: maak een back-up van je site!
  3. Verander je PHP versie naar 7.2.
  4. Geef het systeem even om de wijziging door te voeren en bezoek na een minuut je website.
  5. Is je website nog zichtbaar zonder foutmeldingen? Controleer dan of alle belangrijke functionaliteiten nog goed werken.
  6. Kom je foutmeldingen tegen of werken enkele zaken nog niet zoals je ze verwacht te werken? Dan heb je twee opties:
    • Als je weet wat er mis gaat en je vindt het niet erg om wat langer onbereikbaar te zijn dan kan je de problemen op proberen te lossen (zie ook verderop in dit artikel).
    • Zet je PHP versie terug naar de vorige versie en ga naar het volgende stappenplan.
  7. Werkt je website nog steeds / weer zoals die zou moeten werken? Top!


Als je graag wilt voorkomen dat je website langere tijd onbereikbaar is:

  1. Log in op ons controlepaneel, navigeer naar het beheer van de betreffende site en ga naar de tab staging.
  2. Maak een staging omgeving van je site aan, je kan hier deze gids voor gebruiken.
  3. Zodra de staging omgeving is aangemaakt kan je hier inloggen en beginnen met het updaten van je WordPress, plugins en thema's.
  4. Gebruik de eerder genoemde staging gids om de PHP versie van je staging site aan te passen naar PHP 7.2.
  5. Bekijk je website en controleer of alles, inclusief de belangrijke functionaliteiten, goed werken.
  6. Is de staging site niet meer bereikbaar? Bekijk de stappen verderop in deze gids. 
  7. Is alles verder in orde? Je hebt twee opties om de wijzigingen aan de staging omgeving naar je productie website over te zetten.
    • Je kan de "merge" optie (staging gids, stap 5) gebruiken in ons controlepaneel om alle wijzigingen aan de staging omgeving samen te voegen met de productieomgeving. Een waarschuwing als je productie site een shop, of andere website is waar continue wijzigingen op plaats vinden. De merge overschrijft de database, dus enige wijzigingen in de database terwijl je op staging aan het werken was worden dan verwijderd. Inclusief enige bestellingen in een webshop!
    • Je mag aannemen dat je productie omgeving hetzelfde reageer als je staging omgeving. Wijzigingen die je op staging doorvoert kan je dus ook op de live omgeving doorvoeren. Hierdoor kan je dezelfde stappen nogmaals doorlopen, inclusief het repareren van enige problemen die je op staging ook op hebt kunnen lossen.


Updaten en foutmeldingen:

Als er dingen mis gaan bij het testen van je website op een nieuwe PHP versie dan worden er waarschijnlijk fouten naar je error log geschreven. Bekijk deze gids om meer te lezen over het inzien en uitlezen van de logs van je site. De meest herkenbare errors zullen iets in de richting van PHP Fatal error bevatten en zien er ongeveer zo uit:


PHP message: PHP Fatal error: Uncaught Error: [] operator not supported for strings in /var/www/***-***/wordpress/current/wp-content/plugins/revslider/includes/framework/base-admin.class.php:71
Stack trace:
#0 /var/www/***-***/wordpress/current/wp-content/plugins/revslider/admin/revslider-admin.class.php(552): RevSliderBaseAdmin::addMetaBox('Revolution Slid...', '', Array, NULL)
#1 /var/www/***-***/wordpress/current/wp-content/plugins/revslider/admin/revslider-admin.class.php(73): RevSliderAdmin->addSliderMetaBox()
#2 /var/www/***-***/wordpress/current/wp-content/plugins/revslider/admin/revslider-admin.class.php(44): RevSliderAdmin->init()
#3 /var/www/***-***/wordpress/current/wp-content/plugins/revslider/revslider.php(165): RevSliderAdmin->__construct('/var/www/***...')
#4 /var/www/***-***/wordpress/current/wp-settings.php(305): include_once('/var/www/***...')
#5 /var/www/***-***/wordpress/current/wp-config.php(95): require_once('/var/" while reading response header from upstream, client: #.#.#.#, server: www.domain.org, request: "GET /wp-admin/ HTTP/1.1", upstream: "fastcgi://unix:/dev/shm/php-fpm.***-***.sock:", host: "www.domain.org"


In dit voorbeeld kan je zien dat er "iets" mis gaat in "/var/www/***-***/wordpress/current/wp-content/plugins/revslider/includes/framework/base-admin.class.php:71". Hieruit kan je al opmaken dat de plugin "revslider" mogelijk iets te maken heeft met de foutmelding. Je kan deze plugin eens uitschakelen en zien of dat de problemen oplost of veranderd. Als dit het geval is dan is de plugin waarschijnlijk verouderd of de ontwikkelaar heeft (nog) geen nieuwe versie uitgebracht.


Zie je geen foutmeldingen? Mogelijk krijg je meer te zien als je WordPress debugging inschakelt. Open je wp-config.php bestand en zoek de regel met


define( 'WP_DEBUG', false );


Verander in deze regel false met true en je debugging staat aan. Je site zal nu aanvullende meldingen tonen als deze beschikbaar zijn.


Als dit allemaal heel technisch over komt dan kan je het beste een website ontwikkelaar naar je website laten kijken. Je mag natuurlijk ook een ticket bij ons openen. Mogelijk kunnen wij je in de juiste richting wijzen gebaseerd op de errors die je site geeft.


Extra opmerkingen / vragen

Waarom is PHP 7.3 nog niet beschikbaar?

PHP 7.3 is nog niet stabiel genoeg om op live servers te draaien. Zodra er een stabiele versie uit komt zullen we deze voor je beschikbaar hebben taan.


Zijn er plugins waarvan jullie weten dat deze moeilijkheden hebben met nieuwe PHP versies?

Zeker, maar het probleem zit hem vaak echt in het updaten van de plugin. Sommige plugins geven niet aan dat ze updates beschikbaar hebben, maar als je op de site van de ontwikkelaars kijkt lijken die er wel te zijn. Hier houden we een lijst bij met probleemgevallen zoals wij ze tegen komen:

  • Revolution slider (revslider) veroorzaakt problemen als die niet geupdate wordt.