PrestaShop debug mode en logs: waar je de foutmelding leest
De debug mode van PrestaShop zet je aan onder Geavanceerde parameters > Prestaties of in het bestand config/defines.inc.php. Hij lost zelf niets op. Hij toont de foutmelding in plaats van een lege pagina. Kijk voordat je hem aanzet in het log onder Geavanceerde parameters > Logs. De foutmelding staat daar vaak al, met een datum en de naam van de module.
Auteur: Het TellMyShop-team. Een gids voor eigenaren van PrestaShop-winkels: de oorzaak, de oplossing met de hand en hetzelfde werk in een gesprek met de chat.
Laatst bijgewerkt: · 5 min lezen
Waar legt PrestaShop de foutmelding vast?
Op vier plekken, en elke plek ziet net andere fouten.
| Plek | Waar je hem vindt | Wat erin staat | Wanneer je kijkt |
|---|---|---|---|
| PrestaShop-log | Geavanceerde parameters > Logs | regels van PrestaShop en modules met een datum en ernstniveau | altijd, als eerste |
| Debug mode | Geavanceerde parameters > Prestaties of config/defines.inc.php | de volledige melding met bestand en regel, direct op de pagina | als de pagina leeg is of een 500 error toont |
| Logbestanden op de server | de map var/logs | fouten die de Symfony-laag wegschrijft | als de backoffice niet werkt of de fout de backoffice betreft |
| Foutenlog van de hosting | hostingpaneel, meestal “error log” of “PHP-logs” | PHP-fouten, ook die PrestaShop niet heeft kunnen opslaan | als het log in de backoffice leeg is |
Er is ook een vijfde plek, de browserconsole. Die open je met F12. Hij toont scriptfouten, bijvoorbeeld als een knop niets doet en de logs van de webshop leeg zijn. Een beschrijving van het scherm met logs vind je in de PrestaShop-documentatie.
Hoe zet je de debug mode veilig aan?
Zo kort mogelijk, het liefst op een testkopie van de webshop.
- Controleer het log. Staat de foutmelding er al, dan heb je de debug mode niet nodig.
- Zet debuggen aan in de backoffice. Geavanceerde parameters > Prestaties, de schakelaar voor de debug mode. Deze pagina staat beschreven in de documentatie over prestaties.
- Werkt de backoffice niet, gebruik dan het bestand. Verander in
config/defines.inc.phpde waarde van_PS_MODE_DEV_vanfalseintrue. De ontwikkelaarsdocumentatie beschrijft dit. - Laat de fout opnieuw optreden. Open de pagina die breekt en kopieer de hele melding: de tekst, het bestand en het regelnummer.
- Zet debuggen uit. Direct na het kopiëren van de melding. De debug mode toont technische details aan elke bezoeker.
- Leeg de cache. Geavanceerde parameters > Prestaties, de knop rechtsboven.
Meer schakelaars, waaronder het uitzetten van overrides en modules die niet van PrestaShop zijn tijdens een test, staan in de handleiding van icomSEO over de debug mode (in het Pools).
Hoe lees je een regel in het log?
Kijk naar drie dingen: het ernstniveau, het bestandspad en de datum van het eerste optreden.
Het ernstniveau vertelt je hoe dringend het is. Eén is informatie, twee een waarschuwing, drie een fout en vier een ernstig probleem dat meestal de pagina stillegt. Het bestandspad vertelt je van wie de fout is. Een stuk als modules/module_name wijst naar een module, themes/ naar het thema en override/ naar een override die een module heeft achtergelaten. De datum van het eerste optreden vertelt je wat er op dat moment veranderde. Een fout die een kwartier na een module-update begon, komt meestal van die module.
Kopieer de regel volledig als je hem naar de maker van de module of een ontwikkelaar stuurt. Voeg de PrestaShop-versie, de PHP-versie en een beschrijving toe van waarop je klikt voordat de fout verschijnt. Toont de webshop al een 500 error, ga dan verder met het plan in het artikel PrestaShop 500 error. Wijst het log naar een module, kijk dan hoe je een PrestaShop-module uitschakelt zonder de gegevens ervan kwijt te raken.
Welke meldingen zie je het vaakst?
Een paar soorten meldingen komen in PrestaShop-webshops steeds terug, en elke soort geeft een hint wie je om hulp vraagt.
| Stuk van de melding | Wat het meestal betekent | Wie kan helpen |
|---|---|---|
| Allowed memory size exhausted | het script had meer geheugen nodig dan de server toestaat | je host |
| Class not found | een klassebestand ontbreekt, vaak na het verwijderen van een module of door een oude override | een ontwikkelaar |
| Undefined array key of Undefined index | de module is niet aangepast aan een nieuwere PHP, meestal een waarschuwing | de maker van de module |
| SQLSTATE | een fout in een databasequery, vaak van een module | de maker van de module of een ontwikkelaar |
| Unable to load template | een templatebestand ontbreekt in het thema of een module | de maker van het thema of een ontwikkelaar |
Plak de melding volledig in je melding aan de maker. Kort hem niet in en vat hem niet samen, want de maker zoekt op de exacte tekst.
Hoe loop je het log na met de chat?
Je vraagt om regels uit een gekozen periode, en je chat (Claude of ChatGPT) groepeert herhaalde fouten en legt ze in gewone taal uit. Hij noemt ook de module waar de fout waarschijnlijk naar wijst.
Jij: Haal de fouten en ernstige problemen sinds maandag uit het log, groepeer ze per melding en vertel me naar welke module ze wijzen.
Je chat: Sinds maandag zijn er 52 regels op foutniveau en geen ernstige problemen. Drie groepen:
41 regels van de reviewmodule, altijd op de productpagina, sinds dinsdagochtend.
9 regels van de nieuwsbriefmodule bij het aanmelden van een adres, verspreid in de tijd.
2 regels over een ontbrekende afbeelding in de categorie Lantaarns, een klein inhoudelijk probleem.
De eerste groep is het dringendst. Die begon na de update van de reviewmodule.
De debug mode staat uit, en zo hoort het te blijven.
Het log lezen werkt in de gratis TellMyShop Free, zonder aankoop. Standaard gaat het om de laatste 7 dagen en tot 200 regels tegelijk. E-mailadressen, telefoonnummers en IP-adressen worden gemaskeerd. De technische controle van de webshop vertelt je ook of iemand de debug mode heeft laten aanstaan. Een kant-en-klaar verzoek vind je in de use case foutmeldingen begrijpen na een module-update.
De chat leest geen bestanden uit de map var/logs en ook niet het foutenlog van de hosting. Reageert de webshop helemaal niet, dan werkt de TellMyShop-module ook niet, want die draait binnen de webshop.
Vragen en antwoorden
Waar staan de logs in PrestaShop?
Op drie plekken. Het log in de backoffice staat onder Geavanceerde parameters > Logs en toont regels die PrestaShop en modules hebben opgeslagen. Logbestanden staan in de map var/logs op de server. PHP-fouten die PrestaShop niet heeft kunnen opslaan, staan in het foutenlog in je hostingpaneel.
Mag ik de debug mode aan laten staan?
Laat hem niet aanstaan. De debug mode toont technische details aan elke bezoeker, inclusief bestandspaden op de server. Hij zet ook een deel van de cache uit, dus de webshop werkt trager. Zet hem aan voor de diagnose, het liefst op een testkopie, en zet hem direct daarna weer uit.
Wat betekenen de ernstniveaus in het PrestaShop-log?
Regels hebben vier niveaus. Eén is informatie, twee is een waarschuwing, drie is een fout en vier is een ernstig probleem dat meestal de pagina stillegt. Kijk dagelijks naar niveau drie en vier. Lees waarschuwingen als iets zich vreemd gedraagt en het log geen fouten heeft.
Hoe krijg ik meldingen van fouten per e-mail?
Onder Geavanceerde parameters > Logs stel je het minimale ernstniveau in vanaf welk PrestaShop de beheerder mailt. Zet het op fouten of ernstige problemen, dus drie of vier. Op het niveau van waarschuwingen loopt je inbox snel vol en raken de belangrijke berichten zoek tussen de kleine.
Leest de chat de serverlogs?
De chat leest het PrestaShop-log uit de backoffice, standaard van de laatste 7 dagen en tot 200 regels tegelijk. E-mailadressen, telefoonnummers en IP-adressen worden in de resultaten gemaskeerd. De chat leest geen bestanden uit var/logs of het foutenlog van de hosting. Die controleer je in je hostingpaneel of vraag je op bij je host.
PrestaShop is een geregistreerd handelsmerk van PrestaShop SA. Claude is een handelsmerk van Anthropic PBC. ChatGPT en OpenAI zijn handelsmerken van OpenAI. TellMyShop is niet gelieerd aan deze bedrijven.