Kapitel 14 · 14.6
Fouten na een PHP-upgrade en het foutlog vinden
Denne artikel er endnu ikke oversat. Du læser den hollandske version.
Je hebt de PHP-versie verhoogd en nu is je website wit, toont hij een foutmelding, of werkt een deel niet meer. Dat komt bijna altijd door een plugin, een thema of eigen code die niet geschikt is voor de nieuwe versie. Geen paniek: je zet de oude versie in een minuut terug, en daarna zoek je rustig uit wat er mis is.
Stap 1: zet de oude versie terug
Ga naar Select PHP version, kies weer de versie die je eerst had en klik op Apply (zie Sådan vælger du PHP-version (Select PHP version)). Je website werkt dan meteen weer zoals voorheen. Heb je extensies of opties aangepast bij de nieuwe versie, dan blijven die bewaard voor een volgende poging.
Stap 2: zoek de foutmelding in het foutlog
PHP schrijft fouten in het foutenlogboek van je domein. Daar staat precies welk bestand en welke regel het probleem geeft.
- Klik in DirectAdmin onder Systeem Info & Bestanden op Siteoverzicht & logboeken.
- Klik bij je domein op Foutenlogboek.
- Kijk naar de laatste regels, onderaan. Zoek naar regels met PHP Fatal error, PHP Parse error of PHP Warning (1).

Meer over de logboeken lees je in Oversigt og logs for websted: fejlloggen og adgangsloggen.
Stap 3: begrijp de melding
In de melding staat het pad van het bestand. Daaraan zie je meestal welke plugin of welk thema de boosdoener is. Een paar voorbeelden:
| Je ziet in de melding | Betekenis |
|---|---|
| .../wp-content/plugins/naam-van-plugin/... | Die plugin werkt niet op de nieuwe versie. Werk hem bij, of zoek een vervanger als hij niet meer wordt onderhouden. |
| .../wp-content/themes/naam-van-thema/... | Je thema is te oud. Werk het bij of vraag de maker om een update. |
| Call to undefined function mysql_connect() | Zeer oude code die nog de functies van vóór PHP 7 gebruikt. Die moet worden herschreven. |
| Call to undefined function met een andere functienaam | Vaak ontbreekt een extensie. Kijk welke extensie bij die functie hoort en zet hem aan (zie PHP-udvidelser slås til og fra). |
| Allowed memory size of ... bytes exhausted | Het script heeft te weinig geheugen. Verhoog memory_limit (zie PHP-indstillinger: upload_max_filesize, memory_limit og max_execution_time). |
| Maximum execution time of ... seconds exceeded | Het script deed er te lang over. Verhoog max_execution_time, of zoek uit waarom het zo traag is. |
Stap 4: bijwerken en opnieuw proberen
- Maak een back-up (zie Sikkerhedskopiering og gendannelse: opret selv en sikkerhedskopi i DirectAdmin).
- Werk WordPress (of je andere software), je thema en al je plugins bij, terwijl de oude PHP-versie nog actief is.
- Verwijder plugins die je niet gebruikt.
- Zet de nieuwe PHP-versie weer aan en test je website opnieuw. Kijk ook weer in het foutlog.
Tip: Wil je eerst testen zonder dat bezoekers er last van hebben? Maak met Installatron een kopie van je site op een subdomein (zie Klon og opret et testmiljø (staging)) en zet alleen die map op de nieuwe versie met .htaccess (zie PHP-indstillinger pr. mappe og via .htaccess).
Fouten tijdelijk op de pagina tonen
Zie je alleen een wit scherm en staat er niets bruikbaars in het foutlog? Dan kun je fouten tijdelijk op de pagina zelf tonen. Zet in Select PHP version op het tabblad Options het vinkje bij display_errors aan. Open de pagina opnieuw: nu zie je de foutmelding. Zet display_errors daarna meteen weer uit, want zo'n melding kan informatie over je website laten zien aan iedereen.
Gebruik je WordPress, dan kan het ook met deze regels in wp-config.php, boven de regel That's all, stop editing!: define('WP_DEBUG', true); en define('WP_DEBUG_LOG', true);. WordPress schrijft de fouten dan in wp-content/debug.log. Haal ze na afloop weer weg, of zet ze op false.
Liever laten oplossen?
Lukt het niet, of is je website al jaren niet bijgewerkt? Met de PHP-upgrade maken wij je website geschikt voor een actuele PHP-versie, voor een vaste prijs. Lukt het niet, dan krijg je je geld terug.
