Wanneer je processen hebt lopen die te lang duren of te veel geheugen in beslag nemen kun je tegen verschillende PHP foutmeldingen aanlopen. De meest voorkomende zijn Maximum Execution Time Exceeded, Out of Memory en Memory Limit Exceeded. Hoewel de meldingen op elkaar lijken, verschillen ze wel van elkaar!

Deze foutmeldingen zorgen ervoor dat processen niet te lang lopen en zo de server onderuit halen. Zo dien je bijvoorbeeld te grote acties in batches uit te voeren. Ook mag een proces niet meer dan 256 MB werkgeheugen in beslag nemen of langer dan 99 seconden duren.

Deze limieten zijn opgelegd om de veiligheid en stabiliteit van ons platform te waarborgen.

Maximum Execution Time Exceeded

“Maximum execution time exceeded” Deze melding kun je krijgen wanneer je in één keer een grote actie uitvoert en het tijdslimiet van 99 seconden wordt overschreden. We kunnen dit tijdslimiet helaas niet verhogen.

Het probleem komt doordat Magento, technisch gezien, helaas niet heel snel in elkaar zit. Hierdoor kan, bijvoorbeeld een import of een export, niet geheel worden uitgevoerd. Onze server is namelijk ingesteld om taken die te lang duren af te breken. Dit doen wij om zo de stabiliteit van de server te kunnen garanderen.

Memory Limit Exceeded

De melding Memory Limit Exceeded geeft aan dat de actie die je probeert uit te voeren meer geheugen in beslag neemt dan is toegestaan. Wanneer je bijvoorbeeld een aantal afbeeldingen wilt uploaden en dit neemt 6MB in beslag in plaats van de toegestane 5MB, krijg je deze melding te zien.

Out of Memory

De melding Out Of Memory geeft aan dat er te weinig RAM geheugen beschikbaar is op de server om je actie uit te voeren. Deze melding lijkt op Memory Limit Exceeded, maar is niet hetzelfde. Er namelijk te weinig RAM geheugen beschikbaar op de hele server voor de toegestane hoeveelheid geheugen die beschikbaar is voor een actie. Stel dat één actie 5MB geheugen mag gebruiken, maar de server heeft nog maar 4MB over. Dan krijg je deze melding te zien.

Deze melding kom je minder snel tegen, omdat onze servers zijn uitgerust met een flinke hoeveelheid MB’s aan geheugen, maar het kan voorkomen! Neem in dat geval contact op met ons via support@byte.nl .

Wat kun je hier tegen doen?

In het geval van de eerste twee meldingen: Maximum execution time exceeded en Memory Limit Exceeded dien je de onderstaande stappen te nemen om ervoor te zorgen dat je toch je actie uit kunt voeren zonder daarbij PHP foutmeldingen te genereren.

  1. Probeer om deze actie in kleinere batches uit te voeren. Exporteer b.v. per category in plaats van alles in een keer.
  2. Mocht er geen standaard script hiervoor zijn dan kun je kijken op het Magento forum, of op Magento blogs, of hier een script voor beschikbaar is.
  3. Neem contact op met de Magento partners van Byte. Wellicht hebben zij hier een oplossing voor.

Onze Magento partners staan genoemd op onze website onder het kopje Partners.

Relevante pagina’s

00