Das PHP Speicherlimit (memory_limit) kurz erklärt

Das PHP memory_limit ist nicht etwa, wie viele glauben, die Größe des Arbeitsspeichers (RAM) Ihres Pakets sondern der maximal nutzbare Arbeitsspeicher pro Skriptaufruf. An folgendem Beispiel wird es deutlich.

Wenn Sie z.B. ein memory_limit von 64 MB haben und ein User lädt auf Ihrer Webseite ein Bild hoch, dann wird kurzzeitig z.B. 5 MB Arbeitsspeicher für diese Aktion verwendet. Wird jetzt von 100 Usern gleichzeitig ein Bild hochgeladen, so wird 100 mal 5 MB verwendet. Dies ist deutlich mehr als 64 MB aber dennoch kein Problem, da für jeden User, der ein Bild hochlädt, ein neuer Skriptaufruf stattfindet und so für jeden User bzw. Skriptaufruf bis zu 64 MB Arbeitsspeicher genutzt werden kann.

Sie sehen also, dass es durchaus schwer ist das memory_limit zu erreichen, was nicht heißen soll, dass es unmöglich ist. Beispielsweise bei der Installation von sehr großen Modulen in z.B. WordPress oder Joomla kann es vorkommen, dass kurzzeitig mehr als 64 MB Arbeitsspeicher genutzt werden muss. Da eine Installation meist von einem Skript gestartet wird, würde man hier an das memory_limit für diesen Skriptaufruf stoßen.

Ein hohes memory_limit ist also nur selten und erst bei aufwendigen Aktionen wie z.B. dem Installieren von sehr großen Modulen notwendig. Oft ist es auch so, dass Module für Joomla, WordPress etc. schlecht programmiert sind und durch einen Fehler übermäßig viel Arbeitsspeicher genutzt wird. Durch die Installation solcher fehlerhafter Module kann man ebenfalls an das Speicherlimit stoßen. Sie sollten daher solche schlecht programmierten Module meiden.

Es lässt sich leider keine generelle Aussage bezüglich des nötigen Speicherlimits machen, da dies stark von den jeweiligen Anforderungen (CMS, Module, Nutzung, etc.) abhängt. Wir beraten Sie daher bei Ihrem Vorhaben gerne kostenlos und stellen Ihnen gerne auch kostenlos einen Test-Account zur Verfügung.