PHP-geheugenlimiet: het onzichtbare plafond van je webshop

6 min leestijd
PHP-geheugenlimiet: het onzichtbare plafond van je webshop

Je draait een productimport voor je webshop en halverwege stopt hij, zonder duidelijke melding. Of een klant rekent af met een goedgevulde winkelwagen en krijgt een witte pagina. Een dag later werkt alles weer alsof er niets gebeurd is. Grote kans dat je tegen een onzichtbaar plafond aanloopt: de PHP-geheugenlimiet.

Wat is die geheugenlimiet eigenlijk?

Elke keer dat iemand een pagina van je site opvraagt, draait er op de server een stukje PHP-code. Dat script krijgt een afgepaste hoeveelheid werkgeheugen. Is dat op, dan kapt de server het script keihard af — midden in wat het aan het doen was. In het foutenlog ziet dat er zo uit:

Fatal error: Allowed memory size of 134217728 bytes exhausted
(tried to allocate 2621440 bytes) in .../wp-content/plugins/...

Dat cryptische getal 134217728 is gewoon 128 MB in bytes. Voor een kale WordPress-site is 128 MB ruim voldoende. Maar stapel er WooCommerce, een pagebuilder als Elementor of Divi en vijftien plugins bovenop, en het wordt krap — vooral bij zware klussen zoals imports, exports en backups.

De symptomen: rare fouten die “soms” optreden

Het gemene van een geheugentekort is dat het grillig is. Normale pageviews passen er prima in; alleen de zware momenten klappen om. Herken je dit?

  • Een product- of klantenimport die halverwege stopt, steeds op een ander punt.
  • De checkout of winkelwagen die hapert bij grote bestellingen, terwijl kleine bestellingen prima gaan.
  • Updates van plugins of thema’s die mislukken of eindigen in “Er is een kritieke fout opgetreden”.
  • Een backup-plugin die nooit een complete backup aflevert.
  • Grote afbeeldingen uploaden of bewerken lukt niet, kleine wel.

Twijfel je of het echt geheugen is? Zet tijdelijk logging aan zoals beschreven in WP_DEBUG inschakelen en uitlezen en zoek naar de regel “Allowed memory size … exhausted”. Dan weet je het zeker.

Check eerst: hoeveel geheugen heb je nu?

WordPress vertelt het je zelf. Ga in je dashboard naar Extra → Sitediagnose → Info → Server. Daar staat de regel “PHP-geheugenlimiet”. Zie je daar 128M (of nog minder), dan is er winst te behalen. Wat je verder met dat sitediagnose-scherm kunt, lees je in WordPress-sitediagnose: welke meldingen echt belangrijk zijn.

Goed om te weten: er zijn twee knoppen die allebei “geheugenlimiet” heten. WordPress heeft een eigen, interne limiet (standaard zuinig ingesteld), en PHP zelf heeft de harde bovengrens op de server. De laagste van de twee wint. Daarom pak je ze allebei aan.

Zelf verhogen, van makkelijk naar technisch

1. Via je hostingpaneel (de nette weg)

Bij de meeste hostingpakketten pas je de PHP-instellingen zelf aan. In DirectAdmin heet dat meestal “PHP-instellingen” (of “Select PHP Version”): zoek de optie memory_limit en zet die op 256M. Bij een hoster als KeurigOnline staat dit gewoon voor je klaar in het paneel; kom je er niet uit, dan zet de helpdesk het in twee minuten voor je goed.

2. Via wp-config.php

Open via bestandsbeheer of FTP het bestand wp-config.php in de hoofdmap van je site, en zet bóven de regel /* That's all, stop editing! */:

define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

De eerste regel is het geheugen voor je bezoekers, de tweede voor zware klussen in het beheergedeelte (updates, imports). Onthoud: dit werkt alleen als de server-limiet uit stap 1 minstens even hoog staat.

3. php.ini of .user.ini

Sommige hostingomgevingen lezen een eigen php.ini of .user.ini in je websitemap. Daarin volstaat één regel: memory_limit = 256M. Of dit bij jouw pakket werkt, verschilt per hoster — het paneel uit stap 1 is bijna altijd de betrouwbaardere route.

Hoe hoog is te hoog?

Voor een webshop met pagebuilder is 256 MB een gezonde standaard. Merk je dat je richting 512 MB of meer “moet” om fouten te voorkomen, dan is de limiet niet je probleem — dan lekt er ergens een plugin of doet een thema iets geks. Meer geheugen erin pompen is dan symptoombestrijding: je site wordt er ook niet sneller van, alleen de crash schuift op.

Bedenk ook dat shared hosting grenzen heeft. Jouw pakket heeft een totale hoeveelheid geheugen, en de memory_limit kan daar niet bovenuit. Kom je er met 256 MB niet, overleg dan met je hoster in plaats van eindeloos aan instellingen te draaien.

Als de fout blijft komen

Blijven er witte pagina’s of vage fouten optreden nadat je de limiet hebt verhoogd? Dan is de kans groot dat er iets anders speelt — een plugin-conflict of een echte fout in de code. Volg in dat geval het stappenplan bij een 500 Internal Server Error in WordPress: daar staat hoe je de echte boosdoener opspoort.

Samengevat

  • Grillige fouten bij imports, checkout, updates of backups wijzen vaak op een te lage PHP-geheugenlimiet.
  • Check je huidige limiet onder Extra → Sitediagnose → Info → Server.
  • Verhoog naar 256M via je hostingpaneel én in wp-config.php — de laagste limiet wint.
  • Heb je structureel meer dan 512 MB “nodig”, dan is er iets anders mis: laat dan een plugin-audit doen.

Wanneer schakel je hulp in?

Kun je de PHP-instellingen in je paneel niet vinden, of blijft de import ook op 256 MB stuk lopen? Vraag het je hoster: die ziet in de serverlogs binnen een minuut of het geheugen is, en zo niet, wát dan wel. En als je webshop zo gegroeid is dat hij structureel tegen de grenzen van je pakket aanhikt, is dat een prima moment om samen te kijken of je hostingpakket nog bij je omzet past.

Nederlandse support

Klaar om te beginnen met KeurigOnline?

Betrouwbare WordPress hosting zonder gedoe

Vanaf €1,50 per maand
SSH + WP-CLI + Redis + LiteSpeed
5 sterren support - 4.9 op Trustpilot
20.000+ klanten - 20 jaar ervaring