14.304 views

WordPress Update und das PHP Memory Limit

Früher hatte ich immer Probleme mit WordPress im Zusammenhang mit dem PHP Memory Limit. Meine WordPress Plugins drückten den PHP Speicher immer in den roten Bereich und an ein Autoupdate über das WordPress Backend war nicht zu denken.

Was ist das PHP Memory Limit ?

Bei dem PHP Memory Limit handelt es sich um eine Angabe in den (serverseitigen) PHP Konfigurationsdaten ( „memory_limit „) welche den maximalen Speicherplatzverbrauch eines PHP Scriptes (und nichts anderes ist eine über den Browser aufgerufene  Joomla, Wordpres, Drupal… Website) festlegt. Dieses Limit wird vom Provider festgelegt, damit schlecht oder fehlerhaft programmierte Websiten (bzw. Scripte) nicht den ganzen Server (der ja in der Regel zig Websiten hostet) zum Stillstand bringt.

Interessanterweise benötigt WordPress ab Version 3.0 deutlich mehr Speicher als die älteren Versionen – warum auch immer. Wer also mit wenig PHP Speicher bestraft ist und diesen auch nicht erhöhen kann, dem bleibt nur ein Downgrade auf eine ältere Version von WordPress.

Wie erkenne ich einen zu geringen PHP Speicher ?

Bei WordPress (und anderen PHP basierenden CMS Systemen) zeigt sich ein übervoller PHP Speicher an Fehlermeldungen wie dieser :

Fatal error: Allowed memory size of 654321 bytes exhausted (tried to allocate 12345 bytes) in /srv/www/user/html/wordpress/index.php on line 4711

Wenn diese Fehlermeldung kommt ist allerdings der Speicher schon voll und der einzige Weg, dem entgegen zu wirken ist erstmal ein paar Plugins abzuschalten. Sollte man es nicht mehr ins Backend schaffen, kann man auch einzelne Plugins per FTP im WordPress Verzeichnis löschen – WordPress erkennt das automatisch und deaktiviert diese auch gleich.

Besser ist, man erkennt im Vorfeld, wie es um den PHP Speicher bestellt ist. Ich nutze dafür das Plugin  „memory usage“ von Alex Rabe. Damit hat man immer die Speichernutzung im Blick, passend dazu farblich unterlegt.

Schaut man sich den Screenshot an, lässt sich mit dem Plugin nicht nur die Auslastung anzeigen, sondern auch das maximale Memorylimit anzeigen – praktisch.

PHP Memory Limit erhöhen

Es gibt unterschiedliche Möglichkeiten, das Memory Limit zu erhöhen. Manchmal wird vom Provider das Limit per Software gedrosselt, d.h. obwohl man laut Paket 64 MByte zur Verfügung steht, sind nur 32 MB eingestellt. Wie aber nun den PHP Speicher erhöhen? Es gibt mehrere Möglichkeiten:

  1. WordPress Datei wp-config.php ändern (sofern man WordPress benutzt)
  2. Datei php.ini ändern
  3. Datei .htaccess ändern
  4. bequem über das Backend des Providers / Hoster

Workarounds zu Möglichkeit 1-3  gibt es zu hauf im Netz. Man sollte aber wissen, was man macht und schon ein wenig Ahnung haben, denn einmal etwas im Code falsch geändert und man zerschiesst unter Umständen sein ganzes CMS System.

Ich favorisiere Möglichkeit 4 – hier kommt ein guter Provider bzw Hoster ins Spiel, denn der bietet die Möglichkeit der Änderung vom PHP Speicher ohne eine Zeile Code zu tippe. Ich hatte ja bereits in einem eigenen Artikel geschrieben, das ich Alfahosting nutze und super mit dem Hoster zufrieden bin.

Je nach Provider ist das Konfigurationsmenu (sofern denn vorhanden) im Backend versteckt. Bei Alfahosting kommt man über folgende Menus zur Memory Limit Einstellung (Login im Kundenbereich bereits getätigt):

Meine Pakete > Ihr Paket > Experten-Einstellungen > Servereinstellungen

Dort den gewünschte (und je nach Hostingpaket maximal möglichen) PHP Memorygröße eingeben. Bis die Änderung greift, können ca 10 Minuten vergehen. Ich habe so mein Limit von 48 MByte auf 64 MByter erhöhen können.

Bei mir hat die Erhöhung des PHP Memory Limit wahre Wunder bewirkt. Zum einen habe ich trotz vieler aktiver WordPress Plugins noch richtig Speicher-Reserven (ca. 18MByte, siehe ersten Screenshot), zum anderen läuft jetzt mein WordPress Autoupdate wie geschnitte Brot. Die Eingangs erwähnt Fehlermeldung ist seid der Änderung des PHP Speichers nicht mehr aufgetaucht 🙂

11 Gedanken zu „WordPress Update und das PHP Memory Limit

  1. Kommt mir irgendwie alles bekannt vor. Traurig daran ist, das wir alle an den Ergebnissen herum laborieren, anstelle das endlich mal die grundlegenden Probleme in PHP und dessen Speichermanagement angegangen werden. Klemm mal die deutsche Sprachdatei ab und schau Dir dann mal den Speicherbedarf an. Ich empfehle sich vorher hinzusetzen…

    • Sicher ist das der bessere Weg, aber wer (grad als Blogger-Newbie) beschäftigt sich im Vorfeld mit solchen Einstellungen / Klippen die es zu umschiffen gilt? Das Problem wird dann halt erst erkannt, wenn es auftritt. Und mit meinen 64MByte ist mein Blog „gut im Futter“, da kann ich auch die deutsche Sprachdatei behalten 🙂

  2. Vielen Dank für diesen verständlich geschrieben Beitrag (als Tipps verstehe ich solche Sachen nämlich nicht immer…) .

    An was man nicht alles denken muss. Ich bin ziemlich vorsichtig geworden mit Updates, da machen irgendwie meine Datenbanken nicht immer mit, aber mit diesem Plugin habe ich wenigstens meinen Speicherplatz im Griff.

    Danke nochmals und liebe Grüsse aus der Schweiz

  3. Ich hatte auch lange das Problem, als ich noch bei meinem alten Hoster war. Da konnte man das PHP-Memory-Limit leider nur durch einen Aufpreis erhöhen.

    Nun bin ich bei all-inkl.com und dort klappt alles super und das Limit ist hoch genug für WordPress 🙂

  4. Hallo
    also, ich habe nur 32 MB und wordbooker oder Jetpack liefen gar nicht mehr. Ich habe dann die deutsche Sprachdatei rausgeworfen und siehe da: Alles klappte und ich konnte noch zig weitere PlugIns installieren, ohne das WordPress wieder meckerte. Ich habs nicht nachgemessen, aber wie es scheint frißt die Sprachdatei den meisten Speicher und mich stören die englischen Dialoge nicht.
    Gruß
    Michael

  5. Hallo Daniel,
    hallo Micha,
    zunächst vielen Dank für die Infos. Ich werde wohl auch ein Speicherupdate bei meinem Webhoster bestellen. Meine 50 MByte PHP-Speicher reichen für das Update auf WP 3.4 (mit Jetpack, SEO, etc.) nicht mehr aus.
    Nun lese ich, dass man die deutschen Sprachdateien entfernen kann. Sprecht Ihr hierbei von WordPress und den Dateien unter „/wp-content/languages“? Erscheinen dann nicht im Blog auch Texte in englischer Sprache?
    Oder gibt es bei PHP auch noch Optimierungsmöglichkeiten? Bei Webhostern hat man hier doch aber gar keinen Zugriff!?
    Ergo heißt das, dass man englische Texte ertragen oder eben doch ein Speicherupdate kaufen muss?
    Vielen Dank für Newbee-Support
    Friedbert

  6. Pingback: WordPress Vers. >3 und das PHP Memory Limit

  7. Pingback: Wieder Wordpress – wieder PHP Memory Limit | Erfahrungen mit Alfahosting / Support | Sypke.de

Schreibe einen Kommentar

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