PHP Memory Limit erhöhen

In einem Artikel zur Wahl des richtigen Hosting-Anbieters wurde bereits das so genannte PHP Memory Limit angesprochen. Einige User von WordPress bekommen nach einer gewissen Zeit Probleme. Zum Beispiel nach einem Update der WordPress Blogsoftware, der Installation von neuen Plugins oder einem Theme-Wechsel. Grund ist ein zu niedriges PHP Memory Limit.

Die typischen Fehlermeldungen dabei:

Fatal error: Allowed memory size of XXXX bytes exhausted (tried to allocate XXXX bytes) in…”

oder

“Out of memory (allocated XXXX) (tried to allocate XXXXX bytes) in…”

Erklärung

Bei der Nutzung von PHP-Anwendungen wird ein memory limit gesetzt. Dieses Limit beschreibt den maximalen (Arbeits-)Speicherverbrauch den der gesamte Blog (alle PHP Scripts) auf dem Server verursachen darf.

Erscheint nun eine der obigen Fehlermeldungen, so versucht eine WordPress-Installation mehr Speicher für sich zu reservieren als ihr gemäß dem spezifischen memory limit des Servers zusteht. Die Ursachen können unterschiedlicher Herkunft sein. Zum Einen nimmt die WordPress Software nach jedem Update leider etwas mehr Speicherplatz in Anspruch. Zum Anderen verursachen zu viele installierte Plugins oder einzelne -extrem speicherhungrige Plugins- einen hohen Speicherbedarf. Hinzu kommt, dass es durch mehrmaliges installieren/löschen von Plugins oder dem häufigen Wechsel des Themes zu „Resten“ auf dem Server kommen kann, die ein System unnötig aufblähen.

PHP Memory Limit feststellen

Möchte man Klarheit über den Auslastungszustand seines Servers erlangen, kann man ein kleines Plugin wie WP-Memory-Usage installieren. Nach der Installation zeigt es dem Blogger, auf dem Dashboard seiner WordPress-Installation, eine Übersicht des Speicherverbrauchs an.

Um die Auswirkungen einzelner Plugins auf den Speicherverbrauch ausfindig zu machen, kann man nach und nach einige Plugins deaktivieren und anschließend den aktuellen mit dem vorherigen Speicherbedarf vergleichen.

WP-Memory-Usage128M

WP Memory Usage: Memory Limit = 128MB

Wie auf dem Bild zu sehen, stellt All-Inkl.com seinen Kunden 128MByte zur Verfügung. Dieser Wert liegt weit über dem von WordPress formulierten Minimum von 32MB. Auch die inoffizielle Mindestanforderung von 64MB wird um das 2-fache übertroffen. Das Bild zeigt zudem, dass How-to-Wordpress.de mit ca. 15 installierten Plugins gerade mal eine Speicherauslastung von 25% verursacht. Insgesamt also alles bestens. Zudem ist es All-Inkl.com Kunden möglich das memory limit auf 256MB zu erhöhen, womit auch in Zukunft noch genug Spielraum sein dürfte. Wie man das PHP Memory Limit auch auf anderen Servern erhöht, soll nachfolgend erklärt werden.

PHP Memory Limit erhöhen

Möglichkeit 1:

Man öffnet das Stammverzeichnis seines Blogs und öffnet die Datei: „.htaccess

Anschließend ergänzt man sie mit folgender Zeile:

„php_value memory_limit 256M“

256M steht logischerweise für ein memory limit von 256MByte. Je nach Speicherbedarf des eigenen Blogs sowie den Vorgaben des Servers, können auch Werte wie 128M oder 64M ausprobiert werden.

.htaccess php memory limit

.htaccess: Memory Limit = 256MB

Befindet sich im Stammverzeichnis des Blogs noch keine „.htaccess“, so kann man diese leicht selbst erstellen. Es muss lediglich mit einem Texteditor eine Datei mit genau dem Namen „.htaccess“ erstellt werden, die die obige Zeile enthält. Anschließend wird sie ins Stammverzeichnis hochgeladen.

 

Möglichkeit 2:

Durch einen Eintrag in der Datei „wp-config.php“ des Blogverzeichnisses kann das Limit nach oben gesetzt werden. Dazu muss folgende Zeile an den Anfang des Codes eingefügt werden:

“define(‚WP_MEMORY_LIMIT‘, ‚256M‘);”

Wie gehabt kann anstatt 256 auch 128 oder 64 eingetragen werden.

wp-config_defineWPMemoryLimit

wp-config: Memory Limit = 256MB

 

Möglichkeit 3:

Hierbei wird eine Datei namens „php.ini“ erstellt, welche wiederum in das WordPress Verzeichnis hochgeladen wird. Erneut kann die Datei mit einem Texteditor erzeugt werden, wobei folgende Zeile enthalten sein muss:

memory_limit=256M

Kontrolle

Hat das Umschreiben bzw. Erstellen der Dateien funktioniert, zeigt WP-Memory-Usage den eingestellten Wert an. Hier: 256MByte

WP-Memory-Usage256M

WP Memory Usage: Memory Limit = 256MB

 

Welche der vorgestellten Methoden beim jeweiligen Hoster funktionieren muss individuell ausprobiert werden. Je nach Hoster ist es unter Umständen überhaupt nicht möglich das PHP Memory Limit manuell zu erhöhen. In dem Fall bleibt nur die Aussprache mit dem Hoster und gegebenenfalls der Wechsel zu einem anderen Provider.

Dieser Beitrag wurde unter How To's abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

24 Kommentare zu PHP Memory Limit erhöhen

  1. Hody sagt:

    Was ist denn das Maximum für ein PHP Limit, damit man eine Idee von dieser Zahl bekommt. Sind 256 MB sehr viel oder was könnte man in der Praxis z.B. bei einem eigenen Mietserver vergeben?

    Eine Hausnummer wäre schön!?

  2. htw sagt:

    Eine pauschale Antwort ist dem Fall nicht möglich. Je nach Speicherbedarf des jeweiligen Projekts können 16 MB ausreichen, aber auch 256 MB zu wenig sein. Bei einem Mietserver muss geprüft werden, wieviel Arbeitsspeicher zur Verfügung steht (und welches Limit sinnvoll ist).

    Für eine WordPress Installation, die leider schon recht speicherlastig ist, reichen 256 MB i.d.R. locker aus. Ab 64 MB ist man meiner Meinung nach aktuell auf der sicheren Seite. 128 MB oder gar 256 MB sollten daher absolut ausreichend sein. Gleiches gilt neben WordPress für die meisten anderen Einsatzzwecke.

    Gruß

  3. Mina sagt:

    Dein Artikel hat mir super weitergeholfen. Bin bei all-inkl und neulich durch ein paar neue Plugins an die Grenzen gestoßen.
    Bei mir hat’s mit dem Eintrag in der wp-config.php geklappt. Dankeschön!

  4. Super… Vielen Dank… Die wp-config.php funktionierte nicht. Über die .htaccess war es dann aber kein Problem…
    Danke und Grüße aus Köln

  5. Ich hatte heute nach dem Update auf WordPress 3.5.2 genau diesen Fehler, als ich meine Seiten editieren wollte. Mein Allinkl Memory-Limit stand allerdings noch auf 64MB – ich nehme an, weil ich ein alter Kunde mit Resellerpaket bin, war das Limit damals etwas geringer. Mein neuer Account hat auch 128 MB als Default und kann bis auf 256MB hoch gesetzt werden. Ich habe das übrigens mit der htaccess Datei gemacht, wie du es oben beschrieben hast. Danke nochmal für den Tipp!

  6. Jan sagt:

    Bei der Lösung mit der wp-config.php gehört ebenfalls eine Einheit hinter die Zahl, also beispielsweise 256M.

    • htw sagt:

      Vielen Dank für den Hinweis! Ihr habt natürlich recht. Dementsprechend habe ich den Artikel aktualisiert.

  7. sehr hilf reicher beitrag.

    danke

  8. sco sagt:

    Ich bekomme den Fehler auch, obwohl mir MP-Memory-Usage einen Verbrauch von 63% attestiert. Woran kann das liegen? Den Speicher erweitern wie oben beschrieben kann ich nicht mehr, da ich bereits das von meinem Hoster gestattete Limit erreicht habe.

    • htw sagt:

      Nur weil Dir WP-Memoroy-Usage einen Verbrauch von 63% anzeigt, muss das nicht heißen, dass dieser Wert nicht von Zeit zu Zeit überschritten wird. Ich würde an deiner Stelle alle nicht unbedingt benötigten Plugins deaktivieren und beobachten, ob der Fehler immer noch auftaucht. Ist das Problem damit gelöst, müssen entweder einige Plugins deaktiviert bleiben oder Du wechselst zu einem Anbieter mit höherem Memory-Limit.

      Gruß,
      Dennis

  9. Hody sagt:

    Ich hatte mit meinen Seiten solange Probleme Bis wir via Server4you selbst ghosted haben. Seit dem läuft es wunderbar

  10. Thomas Will sagt:

    Mein „alter“ Hoster hat das Limit von 50 MB, aber auch andere Kriterien sind ja wichtig: die Anbindung des Servers scheint recht gut zu sein und es gibt eigentlich nie Ausfälle (so 99,99% Erreichbarkeit). Irgendwie lege ich da mehr wert drauf, als auf ein großes Limit, nur so ein Gedanke.

    An dieser Stelle wäre es dann mal wieder interessant zu wissen, was es bedeutet, wenn mir das Plugin „Memory limit : 268435456 MB“ anzeigt, bei 39,55 MB Verbrauch:
    http://wordpress.org/support/topic/memory-limit-268435456-mb

    Kriegt ich denn Ärger mit dem Hoster, wenn ich mit .htaccess, wp-config.php oder php.ini das Limit einfach erhöhe?

  11. Super Tipp – danke

    Habe das Problem über die wp-config lösen können – Seite läuft wieder problemlos.

  12. kai sagt:

    Schöner sehr hilfreicher Artikel.

    Bei den meisten Blogs funktioniert die wp-config.php Lösung nicht. Weiss jemand warum? Es nervt, dass sich versch. Blogs auf dem gleichen Server, mit dem gleichen Theme und den gleichen Plugins, unterschiedlich Verhalten.

    Was, wenn z.B. Woocommerce Systemanzeige 40M anzeigt, WP-Memory Usage 64M anzeigt und mein Server sagt es seien 256M? … Manchmal hassen mich Computer.

    Wem kann ich noch vertrauen? 😉

    • Thomas Will sagt:

      Auf den ersten Gedanken fällt mir da
      phpinfo.php
      ein.

      Datei mit obigen Namen erstellen.
      Inhalt ist

      Datei aufrufen und schauen, was sie sagt.

      Das sollte Klarheit schaffen.

  13. Kai sagt:

    Danke Thomas, das war natürlich schonmal der Schubser in die richtige Richtung!

    PHPinfo.php zeigt 60M an. Verwirrung immer noch vorhanden.
    Ändern über .htaccess klappt nicht, dann geht die Seite down. PHP.ini ist in Benutzung, wird aber wohl nicht akzeptiert, denn deren Einstellung/Inhalt sagt 256M, ebenso wie die WP-config (evtl. Schreibfehler 4 x kontrolliert).

    Habe auch schon alle anderen Plugins mal deaktiviert und dann versucht noch mal das PHP Memory Limit hochzustellen via htaccess oder PHP.ini oder wp-config…. keinerlei Änderung. Woocommerce zeigt in der System Reportage an es seien nur 40M und ich soll hochdrehen. Das hier empfohlene Plugin zeigt die 60M die mir auch die PHPinfo.php zeigt. Das ist dann wohl richtig.

    Am Server liegt es nicht, nehme ich an, denn alle anderen WP-Installationen laufen da prima u diese Probleme gibt es bei anderen Installationen bisher nicht.

    Habe mal den Woocommerce Support angeticket. Ich berichte falls sich etwas ergibt.

    Danke!

  14. Thomas Will sagt:

    Also ich denke mal, das der Provider Änderungen am PHP-Limit blockiert, ebenso Änderungen an der php.ini; letztere ist oftmals nur les- aber nicht schreibbar.
    Nicht zuletzt bieten manche Provider eine Erhöhung des PHP-Limits nur gegen monatlichen Aufpreis bzw. in einem höheren Paket an.

  15. Kai sagt:

    Nein, es war nur, dass meine 4-malige Kontrolle der richtigen Schreibweise die Buchstabenfolge kontrollierte, aber nicht ob ein Wort zuviel dabei ist 😉

    Der Fehler war:
    In der wp-config landete nicht define( ‚WP_MEMORY_LIMIT‘, ’96M‘ ); sondern define( ‚WP_MAX_MEMORY_LIMIT‘, ’96M‘ ); (ein MAX zuviel, welches natürlich nicht in die wp-config.php gehört sondern in die wp-settings.php)

    Mein Beitrag war demnach nur eine Verschwendung von Blog-Kommentar-Platz… Sorry, und danke dir sehr Thomas!

  16. Stefab sagt:

    Hallo Zusammen

    Ich hab folgende Probleme:

    1. Beim Systemstatus von WooCommerce zeigt es mir folgende rote Zeile an:

    WordPress PHP-Memory Limit: 40 MB – Wir empfehlen den PHP-Speicher auf mindestens 64MB zu setzen.

    Zur Kontrolle habe ich das Plugin WP-Momory-Usage installiert, jenes meldet mir jedoch dass ich zur Zeit 56MB von 256 MB verwende, also sollte ich mehr als genügend freien Speicher haben.

    2. WooCommerce konnte ich ohne Probleme installieren. Ich habe im Menu allerdings keine Rubrik „Produkte“ wo ich neue Produkte hinzufügen kann.

    Danke für Eure Hilfe

    Stefan

    • der-mali sagt:

      Stefan,

      frag doch Deinen Hoster einfach mal, wiviel php-limit Du hast.
      40 MB werden aber bestimmt nicht angeboten, das wäre schon sehr knausrig.
      Evtl. kannst Du es per Merhpreis erhöhen lassen, wenn Dein Commerce nicht richtig läuft.

  17. Felix sagt:

    Danke für deine ausführliche Erläuterungen.

    Meine WP-Präsenz (mit 5 Plugins) lief mit 64MB / 61MB und mit dem entsprechenden Eintrag in der .htaccess-Datei läufts jetzt mit 128 MB / 61 MB.
    Das genannte Plugin „WP-Memory-Usage“ lasse ich ab sofort im Dashboard laufen – sehr gut!

  18. O. Deno sagt:

    Ich habe das Problem, daß ich ein wp Plugin nicht installieren kann, wegen zu wenig Speicherplatz. Das mit dem wp-Plugin zum auslesen ist eine toller Tip, werde das gleich mal machen.

  19. dom sagt:

    danke! Methode 3 hat für mich bei einem Strato account funktioniert

Schreibe einen Kommentar

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

How-to-WordPress.de unterstützt dofollow und ist somit nofollow frei.