500 internal server error

Zo los je een 500 internal server error op

Een hele vervelende error is de 500 internal server error. Opeens is je website of webshop niet meer bereikbaar. En dat kan je naast frustratie ook je geloofwaardigheid als merk, omzet of klanten kosten. Zaak dus om dit snel op te lossen. Andere errors die hetzelfde effect hebben zijn bijvoorbeeld de white screen of death, of error in de database connectie.

→ ik wil graag iemand spreken

Wat is een 500 Internal server error



Wat is een internal 500 server error nu precies?

Deze error geeft aan dat de server ziet dat er iets mis is maar dat de server niet precies ziet wat er dan mis is. Datgene wat er mis is zorgt ervoor dat je server je website niet kan tonen aan bezoekers.

In Jip en Janneke taal: wanneer je via bijvoorbeeld safari of chrome een website bezoekt, stuurt deze browser een verzoekje naar de server waar de website is gehost. De server leest dit verzoekje, verwerkt het en als alles goed is stuurt hij de gegevens terug zodat jij een website ziet. Bij dit terugsturen zit ook een HTTP header. Met een HTTP status code. Een overzicht van alle status codes vind je bij mozilla. Als de server het verzoek behandeld en alles is goed, dan stuurt hij een HTTP 200 status code.

Als de server je verzoek verwerkt en merkt dat er iets niet goed is maar niet precies kan vinden wat er dan niet goed is dan stuurt hij een HTTP 500 status code terug.

In verschillende browsers ziet de HTTP 500 internal server error er verschillend uit. En sommige bedrijven hebben zelfs een aparte pagina gemaakt voor de situatie waarin deze error verschijnt.

Opmerking: Soms wordt de HTTP 500 error gevolgd door een punt en een getal. Bijvoorbeeld 500.19. Het tweede getal geeft wel meer duidelijkheid waar je het probleem moet zoeken. Maar meestal is deze toevoeging afwezig.

Waardoor ontstaat een 500 Internal server error



Er zijn meerdere redenen voor het ontstaan van deze error:

  1. Programmeerfouten. Een van de meest voorkomende redenen is een fout in de programmeertaal van de website. Dit kan een conflict zijn tussen bepaalde plugin’s, een fout in de code of er is bijvoorbeeld een niet bestaande functie gebruikt.
  2. Fouten in de configuratie van de server. Ook kan het zo zijn dat er bij het instellen van de server fouten zijn gemaakt. Bijvoorbeeld dat de bestands- en map machtigingen niet goed zijn ingesteld of het .htaccess bestand verkeerd is aangemaakt
  3. De server is uitgeput. Als er onvoldoende werkgeheugen is toegewezen aan je website, of als het aantal bezoekers ineens exponentieel toeneemt en daardoor de hoeveelheid werkgeheugen die normaal voldoende is, dat ineens niet meer is, raakt je server uitgeput.
  4. Problemen met externe bronnen. Als je website afhankelijk is van software (API’s) of databases van derden, dan kan er een conflict optreden wanneer er daar een error optreed.
  5. Incompatibiliteit van PHP-versies of andere programmeertalen. Als de PHP versie van de server recent is ge-update en niet alle code van je website kan met die nieuwe versie overweg, ontstaat er ook een 500 error. Wees altijd voorzichtig met het upgraden van je PHP versie. De laatste grote wijziging (PHP 7 naar PHP 8) bracht veel van dit soort problemen met zich mee omdat niet alle plugin ontwikkelaars hun code al hadden ge-update.
  6. Beschadigde bestanden. Als er een bestand in je website beschadigd is kan er ook een 500 internal server error optreden.
  7. Browser Cache. Cache doet vreemde dingen. Veel website ontwikkelaars zeggen: Heb je twijfel? Leeg je cache!

Hoe los je een 500 Internal server error op



Een 500 internal server error oplossen heeft niet 1 oplossing omdat we niet precies weten wat de reden is voor deze error. Daarom moet je altijd met het makkelijkste beginnen.

  1. Geduld Wacht een korte tijd en herlaad de pagina. dit kan met CMD + R (Mac) of CTRL + F5 (Windows)
  2. Wis de Browser Cache.
    Chrome op Mac: probeer eerst je pagina geforceerd te refreshen: CMD + SHIFT + R.
    Chrome: klik rechts bovenin op de 3 verticale puntjes en selecteer “clear browsing data”. volg de instructies.
    Safari: klik links bovenin op safari en vervolgens op “clear history” . volg de instructies.
    Edge: klik rechts bovenin op de 3 horizontale puntjes en selecteer “history”. Selecteer vervolgens “clear browsing data”. volg de instructies.
  3. Kijk of er een oorzaak in je error log te vinden is. Voor deze stap heb je FTP toegang nodig. Ben je hier niet goed in thuis, laat deze stap dan over aan je website bouwer of degene die je website beheert.
    In Cpanel ga je naar filemanager > public_html > error_log
    Hier vind je eventuele foutmeldingen. Staan deze er niet, dan moet je, in het geval van WordPress de volgende regels toevoegen aan je wp-config.php file.

    define( ‘WP_DEBUG’, true );
    define( ‘WP_DEBUG_LOG’, true );
    define( ‘WP_DEBUG_DISPLAY’, false );


  4. Zet je PHP versie terug naar de vorige versie. Als de error komt vanwege een conflict tussen de nieuwe PHP versie en de code die gebruikt wordt op je site, zou deze het weer moeten doen als je de PHP versie terug zet. Let op! Als je hiermee het probleem oplost betekend dat niet dat je klaar bent. Dit houd in dat je opzoek moet naar het stukje code/ de plugin die niet compatible is met de nieuwe PHP versie. En dat je zelf, of de plugin maker, deze code aanpast zodat je de nieuwe PHP versie wel kan gebruiken. In verband met veiligheid en functionaliteit gaat een nieuwe PHP versie (uiteraard nadat de kinderziektes er uit zijn) voor de functionaliteit van je plugin.
  5. Kijk of er een plugin of thema conflict is. Is je PHP versie niet veranderd maar heb je wel updates uitgevoerd? Kijk dan of er een plugin conflict is. Deactiveer alle plugins en installeer tijdelijk een standaard thema (bij WordPress). Is je site weer online? Dan zit er ergens een plugin of thema conflict. Zoek uit welke plugin of welk thema het conflict veroorzaakt door ze 1 voor 1 weer te activeren.
  6. Verhoog het werkgeheugen. Voor deze stap heb je FTP toegang nodig. Ben je hier niet goed in thuis, laat deze stap dan over aan je website bouwer of degene die je website beheert.
    Websites van Bijdrager draaien op een server met Cpanel. De volgende stappen zijn dan ook gebaseerd op Cpanel.

Hoe verhoog je het werkgeheugen:

Log in op Cpanel en klik op Select PHP Version

phpversie cpanel

Klik op Options

php version options

Scroll naar beneden naar Memory limit en selecteer via het blauwe pijltje de memory_limit voor jouw site. Voor een goed geprogrammeerde website is onderstaande voldoende in de meeste situaties. Verhoog deze waarde dus niet zomaar, ga eerst na of de code geoptimaliseerd kan worden.

php memory limit

Naast bovenstaande oplossingen zijn er nog een aantal die wat meer specifieke kennis vragen. Kom je er met bovenstaande niet uit of heb je een ander (technisch) probleem? Bijdrager helpt! Wil je het onderhoud van je website of webshop uitbesteden? Bekijk hier de mogelijkheden.