PrestaShop 500 error of een lege pagina: wat je doet in de eerste 15 minuten
Toont PrestaShop een 500 error of lege pagina, controleer dan eerst of het de hele webshop raakt of maar één pagina. Zet daarna de debug mode aan of open het foutenlog voor de echte melding. Gebruikelijke oorzaken zijn een module na een update, een andere PHP-versie en de geheugenlimiet van de server. In een noodgeval schakel je een module uit door haar map te hernoemen.
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
Stap nul: wat werkt er precies niet meer?
Noteer voordat je iets wijzigt drie dingen. Die bepalen of je het in een kwartier zelf oplost of hulp nodig hebt.
| Vraag | Als het antwoord ja is | Waarschijnlijke oorzaak |
|---|---|---|
| Liggen de hele webshop en de backoffice plat? | een fout bij het opstarten van PrestaShop | PHP, geheugen, een beschadigd bestand, een module die overal wordt geladen |
| Ligt de webshop plat maar werkt de backoffice? | een fout in het thema of een module aan de voorkant | een onlangs gewijzigde module, het thema, een override |
| Ligt één pagina plat, zoals de winkelwagen of een productpagina? | een fout in een module die aan die pagina is gekoppeld | een betaal-, verzend- of productpaginamodule |
| Is er in de afgelopen 24 uur iets veranderd? | dat is bijna altijd de oorzaak | een update van een module, PHP of het thema, een migratie |
De laatste rij is het belangrijkst. Een 500 error die een uur na een module-update verscheen, blijkt meestal de schuld van die module. Begin met het terugdraaien van de laatste wijziging voordat je ergens anders zoekt.
Zo zie je de echte foutmelding
Een 500 error op zich zegt niets. Twee plekken tonen de echte melding, met het bestand en de naam van de module.
- De debug mode. Werkt de backoffice, dan zet je hem aan in Geavanceerde parameters > Prestaties. Ligt de backoffice plat, dan verander je
_PS_MODE_DEV_intruein het bestandconfig/defines.inc.php. Beide manieren, en hoe je hem veilig weer uitzet, beschrijven we in ons bericht over de PrestaShop debug mode. LH.pl laat het ook stap voor stap zien (in het Pools). - Het foutenlog van de server. In je hostingpaneel, meestal als “error log” of “PHP-logs”. Het toont fouten, ook als je debuggen niet wilt aanzetten in een live webshop.
- Het PrestaShop-log. Geavanceerde parameters > Logs bevat de fouten die PrestaShop heeft kunnen vastleggen, met datums. Het is nuttig als de fout maar een deel van de webshop raakt.
Zet na de diagnose de debug mode uit. Hij toont technische details aan elke bezoeker.
De meest voorkomende oorzaken en wat je eraan doet
Een module na een update. De melding wijst naar een bestand in de map modules/module_name. Schakel de module uit in de backoffice, en ligt de backoffice plat, hernoem dan haar map via FTP. Meld daarna de fout bij de maker van de module, met de tekst van de melding.
PHP-versie. Je host heeft PHP gewijzigd, of je hebt het zelf in het hostingpaneel gedaan. Oudere modules werken niet op nieuwere PHP, en PrestaShop 8 en 9 hebben hun eigen eisen. Controleer de systeemeisen van PrestaShop en ga terug naar de vorige PHP-versie als de fout direct na de wijziging verscheen.
Geheugen en schijf. Een melding over “Allowed memory size”, of geen ruimte meer op de schijf. Dat is iets voor je host: de PHP-geheugenlimiet verhogen of ruimte vrijmaken.
Overrides en cache. Na het deïnstalleren van een module blijft soms een override-bestand achter dat verwijst naar code die niet meer bestaat. De inhoud van var/cache leegmaken en de map override controleren helpt.
Beschadigde bestanden of een infectie. Is er niets veranderd en staan er onbekende stukken code in de bestanden, dan kan het een aanval zijn. Pskrk beschrijft zo’n geval (in het Pools). Dan heb je een back-up en een specialist nodig, geen doe-het-zelfoplossingen. Zenbox heeft een bredere lijst met storingen samengesteld (in het Pools).
Wanneer de chat helpt, en wanneer niet
Reageert heel PrestaShop niet, dan kan je chat (Claude of ChatGPT) niet helpen, want de TellMyShop-module draait binnen de webshop en gaat er samen mee onderuit. Dan blijft het plan hierboven over, of een ontwikkelaar.
De chat is nuttig als de webshop werkt maar een deel ervan een fout heeft, en bij preventie. In de gratis versie TellMyShop Free leest de chat het foutenlog voor een gekozen periode, de technische controle van de webshop en de modulelijst, en legt hij de meldingen in gewone taal uit.
Jij: Sinds vanochtend schrijven klanten dat de winkelwagen niet opengaat. Gisteren heb ik twee modules bijgewerkt. Kijk wat er aan de hand is.
Je chat: Het log van de afgelopen 24 uur heeft 46 regels met dezelfde fout, de eerste gisteren om 21:14, een paar minuten nadat de verzendmodule was bijgewerkt.
De fout komt uit een bestand in die module en treedt op als de winkelwagen opent. De andere bijgewerkte module heeft geen fouten.
De veiligste stap: schakel de verzendmodule uit tot de maker een oplossing uitbrengt. Klanten verliezen die verzendmethode, maar de winkelwagen werkt weer.
Een module uitschakelen via de chat werkt in TellMyShop Pro met de schakelaar Modules aan in het modulepaneel. De schakelaar werkt 24 uur en vereist een databaseback-up van dezelfde dag. Een uitgeschakelde module houdt haar gegevens, dus je kunt haar met één verzoek weer inschakelen. Bij betaal- en verzendmodules waarschuwt de chat je wat klanten kwijtraken. Voorbeeldverzoeken: foutmeldingen na een module-update, een foutpagina na een update repareren en een module uitschakelen die de winkelwagen breekt.
Zo verklein je het risico op de volgende 500 error
- Maak een back-up van de bestanden en de database voor elke update van een module of PHP.
- Werk één module tegelijk bij en controleer de webshop na elke update.
- Doe updates ’s ochtends op een werkdag, niet op vrijdagavond.
- Loop het foutenlog eens per week na, voordat een kleine fout groeit.
- Houd een testkopie van de webshop bij om grotere wijzigingen te testen.
Werkt de webshop maar zijn je wijzigingen niet zichtbaar, dan is dat een ander probleem: PrestaShop wijzigingen niet zichtbaar.
Vragen en antwoorden
Wat betekent een 500 error in PrestaShop?
Dat de server een fout in de code van de webshop tegenkwam en de pagina niet kon opbouwen. De melding zelf zegt niet wat er gebeurde. Alleen de debug mode of het foutenlog van de server toont de oorzaak. De gebruikelijke boosdoener is een module na een update, een wijziging van de PHP-versie, of te weinig ruimte of geheugen op de server.
Hoe schakel ik een module uit als de backoffice van PrestaShop niet werkt?
Hernoem via FTP of het bestandsbeheer van je host de map van de module in de map modules, bijvoorbeeld door _off aan het eind toe te voegen. PrestaShop vindt de module dan niet en slaat haar over. Zet de naam terug zodra het is opgelost. Dit is een nooduitgang, dus noteer wat je hebt gewijzigd, zodat je het later kunt terugdraaien.
Kan een 500 error de schuld van mijn host zijn?
Ja. Een overschreden PHP-geheugenlimiet, een volle schijf, een uitgeschakelde PHP-extensie of een PHP-versiewissel door de host geven allemaal dezelfde 500 error. Toont het log een melding over geheugen of een ontbrekende extensie, dan is het een zaak voor je host, niet voor de maker van de module.
Kan de chat helpen als de hele webshop plat ligt?
Nee, want de TellMyShop-module draait binnen de webshop. Reageert PrestaShop helemaal niet, dan werkt de verbinding met de chat ook niet. De chat helpt als de fout een deel van de webshop raakt, zoals één pagina of de winkelwagen, en bij preventie: het foutenlog nalopen na elke update.
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.