Blog

Beiträge, Snippets, Tipps & Tricks
rund um Webdesign, SEO & Co.

WordPress PHP Memory Limit erhöhen

von • Themen:
wordpress-logo-orange

Gerade etwas anspruchsvollere Webseiten benötigen ein höheres Memory Limit. Das gilt auch für WordPress-Webseiten. Bei dem PHP Memory Limit handelt es sich um ein definiertes Kontingent an Arbeitsspeicher, über das jeder PHP-fähige Webserver verfügt und aus dem eingesetzte Scripte schöpfen können. Bei kleineren Webpräsenzen sind 32 MB in der Regel völlig ausreichend, doch wenn der Webserver größere Webseiten mit einigen Plugins stemmen soll, muss das Memory Limit unter Umständen erhöht werden.

Was ist eigentlich das PHP Memory Limit?

Wie eingangs bereits erwähnt, verfügt jeder Webserver über das sogenannte PHP Memory Limit. Dieses beschränkt den maximal verfügbaren Speicher im Arbeitsspeicher für PHP-Scripts aller Art. In erster Linie soll diese Limitierung den Webserver vor einer zu hohen Belastung durch ein beispielsweise fehlerhaftes Script schützen. Bei den meisten Webspace-Anbieter ist deshalb ein Memory Limit von 32 oder 64 MB (Angabe erfolgt in Megabyte) voreingestellt, was für gängige Webseiten auf CMS-Basis völlig ausreichend ist. Sobald das festgelegte Memory Limit nicht mehr genügt ist, macht sich dies im WordPress-Backend mit der nachfolgenden Fehlermeldung bemerkbar:

Fatal error: Allowed memory size of XXXXXX bytes exhausted (tried to allocate XXXXXX bytes) in /srv/www/user/beispiel/verzeichnis/script.php on line 123″

Ursache für diese Fehlermeldung im Falle einer WordPress-Installation sind in der Regel diverse Plugins, die das festgelegte Limit völlig ausschöpfen. Solltet ihr bereits während der Installation von WordPress mit diesem Fehler konfrontiert werden, so ist die Ursache der Fehlermeldung mit großer Wahrscheinlichkeit auf einen Webspace mit unter 32 MB Memory Limit zurückzuführen – für WordPress sollte man mindestens 32 MB aufwenden können, optimal sind 64 MB. Ein weiterer Grund könnte ein fehlerhaftes Plugin oder Script sein, dass den Arbeitsspeicher wortwörtlich auffrisst. In diesem Fall sollte man ein Plugin nach dem anderen deaktivieren, um den Fehlerteufel ausfindig zu machen.

Wie hoch ist der Verbrauch?

Insofern der Anbieter des eigenen Webspace keine Angaben zum verfügbaren Memory Limit macht, lässt sich dieses mit wenigen Handgriffen selbst ermitteln. Dazu empfehlen wir das kostenfreie Plugin WP-Memory-Usage, das im Dashboard der WordPress-Installation das festgelegte Limit sowie den derzeitigen Verbrauch des PHP Memory Limits aufzeigt. Sollte der Zugriff auf das Backend aufgrund eines vollgeschriebenen Arbeitsspeichers bereits nicht mehr möglich sein, so lassen sich die installierten Plugins per (s)FTP temporär deaktivieren. Dazu muss unter /wp-content/ lediglich das Verzeichnis „plugins“ vorübergehend umbenannt werden, damit die installierten Plugins nicht mehr gefunden und somit deaktiviert werden. Am Ende sollte man allerdings nicht vergessen, das Verzeichnis wieder umzubennen und alle Plugins im Backend zu aktivieren.

WordPress PHP Memory Limit erhöhen

WordPress Memory Limit erhöhen

Genug der langen Worte, wie kann das PHP Memory Limit unter WordPress erhöht werden? Dazu gibt es drei Möglichkeiten, die allesamt die gleiche Wirkung mit sich bringen. Je nach Hoster ist die Erhöhung des Memory Limits aber nur über einen der nachfolgend erläuterten Wege möglich. Übrigens: Das Memory Limit kann zwar bei fast jedem Webspace-Anbieter erhöht werden, unendlich viel Arbeitsspeicher für die eigenen Scripte gibt es aber nicht. Meist lässt sich das Limit auf 64 MB oder 128 MB erhöhen, vielmehr stellen die Hostingprovider aber verständlicherweise ungern zur Verfügung. Sollten die nachfolgenden Änderungen unwirksam bleiben, so gestattet der Hoster mit großer Wahrscheinlichkeit keine Erhöhung des Memory Limits. In diesem Fall bleibt nur der Anruf bei der Support-Hotline oder ein Wechsel des Anbieters.

wp-config.php (empfohlen)

Die wohl einfachste Möglichkeit, das Memory Limit zu erhöhen, ist ein simpler Eintrag in der wp-config.php, auf die der Zugriff immer gewährt sein sollte. Dazu muss am Anfang der Datei, nach <?php, der folgende Code-Schnippsel eingefügt werden:

define('WP_MEMORY_LIMIT', '64M');

Der Wert 64M steht dabei für ein Memory Limit von 64 Megabyte. Sollte es der Hosting-Anbieter zulassen, kann an dieser Stelle selbstverständlich auch 128M oder gar 256M eingetragen werden. Für weniger anspruchsvolle Webseiten sollten 64M allerdings völlig ausreichen.

php.ini

Die zweite Möglichkeit, das PHP-Limit zu erhöhen, gestaltet sich ebenfalls einfacher, als es sich möglicherweise anhören mag. Allerdings gestattet nicht jeder Webspace-Provider den Zugriff auf die php.ini-Datei – gerade Kunden kleinerer Webspace-Pakete wird der Zugriff meist verwehrt. Vereinzelt ist es auch möglich, einfach eine eigene php.ini anzulegen und diese in das Stammverzeichnis der WordPress-Installation abzulegen. Folgende Zeile muss die php.ini-Datei enthalten, um das Memory Limit zu erhöhen:

memory_limit = 64M

.htaccess

Wer einen Apache-Webserver verwendet und die Möglichkeit hat, eine .htaccess-Datei zu verwenden, der kann das Memory Limit auch über diese Datei erhöhen. Die .htaccess-Datei muss sich dabei im Stammverzeichnis der WordPress-Installation befinden und folgende Zeile enthalten:

php_value memory_limit 64M

Memory Limits der Hoster

In der nachfolgenden Liste habe ich einige Memory Limits verschiedener Hosting-Anbieter zusammengestellt (Angaben ohne Gewähr). Über Hinweise in den Kommentaren zur Erweiterung der Liste würde ich mich sehr freuen.

  • All-Inkl.com:
    Paket „Privat“: 64 MB
    Paket „PrivatPlus“: 128 MB
    Paket „Premium“: 256 MB
    Paket „Business“: 512 MB
  • 1und1: 90-120 MB (abhängig von verwendeter PHP-Version)
  • Alfahosting: 32-190 MB (abhängig von Paket)
  • Strato: 128 MB
  • WebGo: 256MB – 2048 MB

7 Kommentare zu “WordPress PHP Memory Limit erhöhen”

  1. Daniel Ruf sagt:

    All-Inkl bietet je nach Tarif bis zu 512 MB memory_limit

    Privat: 64 MB Memory Limit
    PrivatPlus: 128 MB Memory Limit
    Premium: 256 MB Memory Limit
    Business: 512 MB Memory Limit

    http://forum.wpde.org/installation/126703-welches-sind-aktuell-die-idealen-php-mysql-versionen.html

    Strato hat 128 MB memory_limit

    http://strato-faq.de/article/1315/Mit-welchen-Grundeinstellungen-steht-PHP-bei-STRATO-zur-Verf%C3%BCgung.html

    Anzumerken ist, dass man aufgrund der Konfiguration nicht unbedingt immer die Fehlermeldung wegen dem memory_limit sondern nur den gefürchteten WSOD (White Screen of Death, einfach eine leere Seite) zu sehen bekommt.

    1. Jan Hoffmann sagt:

      Hallo Daniel,

      vielen Dank für die Hinweise. Ich werde den Artikel direkt ergänzen.

      Viele Grüße
      Jan

  2. O. Deno sagt:

    Beim Installieren eines PlugIn für WP habe ich die Fehlermeldung erhalten, dass der Speicher nicht ausreicht, zu klein ist. Kann das durch die beschriebene Erhöhung des Speichers beseitigt werden?

    1. Jan Hoffmann sagt:

      Hallo O. Deno,

      richtig, wenn das Memory Limit durch zu viele speicherlastige Scripte/Plugins aufgebraucht wird, sollte das Memory Limit entsprechend erhöht werden (sofern möglich). Dann sollte es nicht mehr zu Fehlermeldungen kommen.

  3. Mike Bielski sagt:

    Hallo Kreativdenker, ich habe das Problem, dass mir WP Memory Usage stets einen Wert von 25-31 MB anzeigt (128 sind freigegeben) – aber das Admin-Panel trotzdem regelmäßig abstürzt, vor allem die Plugins-Übersicht (und ich habe nur bewährte Standard-Plugins installiert) nicht mehr aufzurufen ist. Deaktivieren und schrittweise wieder einschalten hat leider keine neuen Erkenntnisse gebracht, ich sehe nur, dass bereits ab ca. 30 MB Speicher der Fehler „Fatal error: out of memory…“ kommt. Seufz. Achso, der Server liegt bei 1&1 (leider, ich kann nix dafür). Aber wie gesagt, 128 MB sind definitiv freigegeben.

    Jemand ’ne Idee? Danke!

    1. Jan Hoffmann sagt:

      Hallo Mike,

      bei 1&1 muss das Memory Limit meines Wissens in der php.ini festgelegt werden. Hast du das getan? Ansonsten könnte ich mir auch vorstellen, dass es sich ggf. um ein kleineres Webspace-Paket handelt, das keine Erhöhung des Memory Limits gestattet oder eben nur maximal 32 oder 64 MB zur Verfügung stehen.

  4. Ben sagt:

    Hi Daniel,
    danke für das nette Plug-in…
    ich habe das gerade mit WP 4.6.1 ausprobiert.
    Eine Idee hab ich da noch, für eine bessere Übersicht fände ich es gut, wenn du das WP Memory Limit: auch anzeigst, du zeigst zwar das Memory limit an, aber das ist das von dem Server…. beides anzuzeigen wäre vielleicht übersichtlicher.

    LG ben

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

» «