memory_limit is de instelling die bepaalt hoeveel werkgeheugen één taak van je website krijgt voordat die stopt met een foutmelding. Loopt je site vast op een foutmelding over geheugen, dan zit je vaak tegen deze grens. Je hostingpartijWebhosting is de dienst die jouw website op een computer zet die altijd aan staat en met internet verbonden is, zodat bezoekers hem kunnen openen. of ontwikkelaar kan hem verhogen.
Wat is memory_limit?
Gaat een script erover, dan stopt het met een fatale fout. De instelling beschermt een server tegen één op hol geslagen script en ligt achter de bekende melding “Allowed memory size exhausted”.
Elk verzoek aan je site start een PHP-script, en dat script heeft geheugen nodig voor de pagina, de plugins en de gegevens die het verwerkt. memory_limit bepaalt het plafond. De ingebouwde standaard is 128M en veel hosts kiezen een eigen waarde. Je stelt hem in via php.iniphp.ini is het instellingenbestand van PHP, waarin staat hoeveel ruimte en tijd je website krijgt en of foutmeldingen op het scherm verschijnen., een instellingenbestand per site of je hostingpaneel.
Raakt een script het plafond, dan geeft PHPPHP is de programmeertaal waarmee veel websites, zoals WordPress-sites, hun pagina's maken op het moment dat een bezoeker erom vraagt. het niet een beetje extra. Het stopt, en de bezoeker ziet een wit scherm of een kritieke fout. De oorzaak komt in de foutlogEen foutlog is een bestand waarin de server opschrijft welke fouten er op je website zijn voorgekomen, met tijd en plek. te staan als “Allowed memory size of N bytes exhausted”, met het bestand en de regel waar het gebeurde.
Limieten in WordPress
WordPressWordPress is een programma waarmee je een website maakt en beheert zonder te hoeven programmeren. heeft eigen constanten, WP_MEMORY_LIMIT en WP_MAX_MEMORY_LIMIT, waarmee je de limiet voor de site en voor het beheerdeel kunt verhogen. Ze werken alleen als je host toestaat dat PHP de instelling wijzigt. Is de serverlimiet lager en vergrendeld, dan helpen de constanten niet.
memory_limit en je WordPress-site
Geheugenfouten duiken op dezelfde plekken op: een groot bestand importeren, afbeeldingsformaten genereren, een back-upEen back-up is een kopie van je hele website, apart bewaard, zodat je hem kunt terugzetten als er iets misgaat. draaien, een zwaar scherm van een paginabouwer laden of een WooCommerceWooCommerce is een uitbreiding voor WordPress waarmee je een webshop opzet, met producten, winkelwagen en afrekenen.-rapport draaien. Na een plugin- of PHP-update kunnen ze ook ineens verschijnen op een site die eerst prima draaide.
De valkuil is om het getal telkens te verhogen. Een limiet die steeds stijgt, verbergt een plugin die geheugen verspilt, en laat die plugin de hele server vertragen.
Zo vind en herstel je de oorzaak
Kijk eerst in de foutlog. De melding noemt de limiet die werd geraakt en het bestand, en het pad wijst meestal naar de map van de plugin of het themaEen WordPress-thema is het ontwerp van je WordPress-site: het bepaalt hoe pagina's eruitzien en hoe ze zijn opgebouwd.. Komt steeds dezelfde WordPress-pluginEen WordPress-plugin is een uitbreiding die je aan je WordPress-site toevoegt voor een extra functie, zoals een formulier of een webshop. langs, dan is die de eerste verdachte.
Kijk daarna naar de limiet. Heeft de site het echt nodig, bijvoorbeeld een grote webshop of een import, verhoog dan in stappen, zoals van 128M naar 256M, en test. Pas hem aan bij de PHP-instellingen in je hostingpaneelEen hostingpaneel, zoals cPanel of Plesk, is de beheerpagina van je hosting, waar je domeinen, e-mail en PHP-versie instelt. of vraag het je host. Vermijd -1. Noteer welke waarde je gebruikte, zodat je terug kunt als de wijziging elders op de server problemen geeft.
Wanneer je actie onderneemt
Zet de melding en het pad van het bestand uit de foutlog in je bericht aan de hostingpartij of de pluginmaker, want daarmee kunnen zij veel sneller meedenken. Onderneem actie als de fout vaker voorkomt, of als hij iets belangrijks blokkeert, zoals afrekenen, inloggen of het beheerdeel. Staat je website offline door een kritieke fout en kom je er niet meer in om iets te wijzigen, dan zoeken wij de oorzaak en zetten we de site terug.
Veelgestelde vragen
Wat betekent Allowed memory size exhausted?
Een PHP-script wilde meer geheugen gebruiken dan memory_limit toestaat, dus PHP stopte het met een fatale fout. De melding noemt de limiet in bytes en het bestand waar het gebeurde.
Wat is de standaard memory_limit?
De ingebouwde standaardwaarde van PHP is 128M. Je host kan een andere waarde instellen, dus kijk bij de PHP-instellingen van je site.
Moet ik memory_limit onbeperkt zetten?
Nee. De waarde -1 haalt de limiet weg. Een script met een bug kan dan al het geheugen van de server opeten en andere sites meenemen. Verhoog de limiet liever in stappen.
Lost een hogere memory_limit het echte probleem op?
Niet altijd. Gebruikt één plugin veel meer geheugen dan hoort, dan verbergt een hogere limiet dat. Zoek uit welke plugin of handeling de fout veroorzaakt en verhoog de limiet als het werk terecht is.