✦ Oplossingen · PHP-fouten

500 Internal Server Error na een PHP-update

Na het omzetten van de PHP-versie geeft je site een 500 Internal Server Error? Zo vind je de echte foutmelding in het log, zet je snel terug en los je de oorzaak op.

Waarom gebeurt dit?

Een 500-fout zegt alleen dat er op de server iets misging; de echte reden staat in het foutenlog. Na een PHP-update is dat meestal een fatal error in code die niet compatibel is met de nieuwe versie, een PHP-extensie die voor de nieuwe versie nog niet is ingeschakeld, of een .htaccess-regel die niet meer werkt.

De snelste route: eerst terug naar de vorige PHP-versie zodat de site weer werkt, dan in het log de fout opzoeken, en pas na de reparatie opnieuw overstappen. Lees ook PHP-versie controleren en updaten.

Zo los je het op, stap voor stap

Menunamen kunnen per versie of toestel iets anders heten. Loop de stappen op volgorde af en stop zodra het werkt.

  1. Zet de PHP-versie tijdelijk terug

    In het hostingpaneel kies je de vorige versie. Werkt de site weer, dan weet je zeker dat het aan de update ligt.

  2. Lees het foutenlog

    Het PHP-foutenlog of het error_log van de webserver bevat de echte melding, met bestand en regelnummer. Bij eigen servers vind je het bijvoorbeeld zo.

    # Apache
    tail -n 50 /var/log/apache2/error.log
    # nginx + PHP-FPM
    tail -n 50 /var/log/nginx/error.log
    # PHP-FPM (pad kan per versie/server verschillen)
    journalctl -u php8.3-fpm --since "10 min ago"
  3. Bij WordPress: zet debug-logging aan

    In wp-config.php zet je logging naar een bestand aan, zonder iets op het scherm te tonen. Het log komt in wp-content/debug.log. Zet dit na afloop weer uit en verwijder het bestand.

    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_LOG', true );
    define( 'WP_DEBUG_DISPLAY', false );
  4. Controleer de extensies voor de nieuwe versie

    Elke PHP-versie heeft zijn eigen set extensies. Ontbreekt bijvoorbeeld mysqli, intl of imagick voor de nieuwe versie, zet die dan aan of installeer hem.

  5. Werk plugins en thema's bij, of vervang ze

    Zie je in het log een fout uit een plugin of thema, werk die bij. Is er geen compatibele versie, vervang hem dan voordat je opnieuw overstapt.

  6. Controleer .htaccess

    Regels als php_value of AddHandler voor een oude PHP-versie kunnen na een overstap een 500-fout geven. Maak een kopie en zet ze tijdelijk uit om te testen. Zie .htaccess-fout.

Lukt het niet? Wij helpen

Kom je er met deze stappen niet uit, of wil je het liever niet zelf doen? We kijken online mee of komen langs. Hulp op afstand kost €20 per uur; komen we langs, dan is de prijs op aanvraag. Je weet vooraf waar je aan toe bent.

Aanvraag

Hulp aanvragen

Schrijf kort wat er misgaat en wat je al hebt geprobeerd. Kies of we bellen, online meekijken of langskomen.

Veelgestelde vragen

Vragen over dit probleem

De hoster heeft PHP automatisch bijgewerkt. Kan ik terug?

Bij de meeste hosters kun je in het paneel tijdelijk een oudere versie kiezen. Gebruik die tijd om de code bij te werken; oude PHP-versies krijgen geen beveiligingsupdates meer.

Ik zie geen foutenlog in mijn hostingpaneel.

Vraag de hoster waar het staat, of zet in .user.ini log_errors aan met een error_log-pad binnen je eigen map.

Is een 500-fout altijd PHP?

Nee. Ook een fout in .htaccess, verkeerde bestandsrechten of een vastgelopen proces kan een 500 geven. Het log zegt welke.