Het komt voor dat bepaalde scripts foutmeldingen geven. Door goed te lezen wat de foutmelding inhoud, zijn deze makkelijk op te lossen. PHP foutmeldingen geven duidelijk aan wat er mis is. Denk aan verkeerde inloggegevens voor de database of een simpele syntax fout. Voor Magento foutmeldingen moet je soms eerst even Googlen voordat je precies achterhaald hebt wat de foutmelding betekent.

In dit artikel leggen we uit wat je kunt doen om foutmeldingen op je website op te lossen. Hierbij maken we onderscheid tussen PHP- en Magento foutmeldingen.

PHP foutmeldingen

Analyseer de foutmelding

Stel dat een applicatie de volgende foutmelding geeft:

Parse error: syntax error, unexpected '{' in /path/to/file on line 112

In deze foutmelding staat vrij duidelijk wat er aan de hand is. Het belangrijkste is om te kijken naar het bestand waar de foutmelding vandaan (/path/to/file) komt en het regelnummer van dat bestand (112). Gezien het groot aantal mogelijke fouten gaan we in dit artikel niet inhoudelijk in op deze specifieke foutmelding.
Relevante links:

Geen foutmelding, maar een wit scherm

Soms komt het voor dat je geen foutmelding ziet. Een webapplicatie laadt niet en er blijft enkel een wit scherm staan. Hoewel dit niet per se een PHP fout hoeft te zijn, is dit heel goed mogelijk. Waarschijnlijk staat dan het weergeven van PHP errors uit. We raden dan ook aan om eerst de cache(s) te legen en PHP errors aan te zetten.

Aan te raden is dus om display_errors en log_errors aan te zetten op het moment dat je gaat debuggen. Dit kan in het Service Panel. Display_errors moet foutmeldingen laten zien op het moment dat er iets misgaat en en log_errors zorgt ervoor dat foutmeldingen worden weggeschreven naar een logbestand.

Om display_errors en log_errors aan te zetten volg je de volgende stappen:

  • Log in op het Service Panel
  • Selecteer je domeinnaam
  • Leeg de cache van je shop. Dit kan in het Service Panel en hoe je dit doet wordt uitgelegd op de pagina Caching.
  • Ga naar het tabblad “Instellingen” en klik op de optie PHP.
  • Onder het kopje Kies uw PHP instellingen zet je log_errors en display_errors op ON
  • De PHP logs zullen vervolgens bijgehouden worden in de map /logs/php.

Front controller reached 100 router match iterations
Ontvang je de “Front controller reached 100 router match iterations” in je /var/report/ map? Dan gaat er iets niet goed in je cache! Magento denkt dan dat je cache volledig is, maar dit is niet zo waardoor je site in een loop terecht komt en je dus een wit scherm te zien krijgt. Dit probleem is op te lossen door de cache van je Magento webshop te flushen.

Wil je het probleem verder debuggen? Kijk dan ook graag even voor het uitgebreide antwoord en de benodigde code in dit artikel op stackoverflow.

500 Internal Server Error

INternet Server Error

afb. 1 Internal Server Error

Een Internal Server Error (zie afbeelding 1) is een foutmelding die in veel gevallen gegenereerd wordt door de webserver zelf (bijvoorbeeld Apache). Vaak worden deze foutmeldingen veroorzaakt door een fout in een .htaccess bestand. Om dit vast te stellen is het handig om dit bestand tijdelijk buiten spel te zetten. Dit kun je doen door het tijdelijk te hernoemen (bijvoorbeeld van .htaccess naar .htaccess.bak).

Als de 500 Internal Server Error verdwijnt (ook al heeft het uitsluiten van dit bestand andere foutmeldingen tot gevolg) lijkt het erop dat dit bestand inderdaad het probleem veroorzaakte. Het herstellen van het probleem (met bijvoorbeeld het terughalen van een back-up) kan het probleem dan vaak ook weer oplossen.

503 Error

Wanneer je een 503 error krijgt te zien kan het zijn dat je tegen onze Web Application Firewall (WAF) bent aangelopen. Onze webservers laten deze error namelijk alleen zien wanneer je tegen de filters in WAF bent aangelopen. Check je access logs hoe het precies komt dat je tegen de filters bent aangelopen en hoe je het kunt oplossen.

Magento foutmeldingen

Zoek de errorlog op

Magento Error

afb. 2 Magento Error

Soms wil het wel eens gebeuren dat als je je Magento webshop opent, je de melding There has been an error processing your request krijgt. Er wordt dan ook een error log getoond waarin je meer informatie over deze specifieke fout kunt vinden (zie afbeelding 2). Aan de hand van deze log kun je achterhalen waar het precies binnen Magento mis is gegaan.

Deze logs worden namelijk geplaatst op een specifieke locatie binnen je webruimte. Als je naar de /var/report gaat binnen je Magento installatie zie je daar bestanden staan met allerlei nummers erop. Deze logbestanden komen overeen met het nummer dat Magento doorgeeft op het moment dat er een fout optreedt (zie afbeelding).

Flush je cache

Een van de meest voorkomende problemen in Magento is dat er ergens in je cache verkeerde informatie opgeslagen staat. Vaak is je probleem in Magento op te lossen door simpelweg je cache te flushen.

Overzicht van Magento foutmeldingen

Aangezien er een hoop dingen fout kunnen gaan bij een website weten wij ook niet voor alles de oplossing. Voor de meeste problemen is het handig om een technisch beheerder in te schakelen die je met dit probleem kan helpen. Ook zoeken op de diverse fora kan je helpen de meeste problemen op te lossen.
Er zijn echter wel een x aantal problemen waarvan we wel de oplossing weten. Deze problemen plus oplossingen worden in het artikel Magento foutmeldingen beschreven.

Meer artikelen in de de categorie ‘Website debuggen’

50