WordPress Update und das PHP Memory Limit
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:
- WordPress Datei wp-config.php ändern (sofern man WordPress benutzt)
- Datei php.ini ändern
- Datei .htaccess ändern
- 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
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
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
Gern geschehen und Gruß in die Schweiz
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
Genau, hier trennt sich die Spreu vom Weizen was den Hoster betrifft