WordPress & Webwork

WordPress: Speicher überlaufen, was tun?

Vorhin habe ich Hilferuf eines Lesers bzw. Kollegen bekommen. Website aufgerufen und folgende Meldung begrüßte mich:

Fatal error: Allowed memory size of xyz bytes exhausted (tried to allocate 24 bytes) in /…/ on line xy

Der Speicher, der den PHP-Anwendungen zur Verfügung steht ist ausgeschöpft. Was kann man machen? Zuerst muss man entweder die Speicherbegrenzung erhöhen oder schauen wo man ein paar MByte freischaufelt. Lösungsansatz über die Deaktivierung von Plugins ging nicht, da man beim Aufruf des Admin-Bereichs die gleiche Fehlermeldung bekam.

Hier drei Lösungsmöglichkeiten, die in diesem Fall geholfen haben. Ich bin mir sicher das es noch einen halben Dutzend weiter gibt. 🙂

Speicher über die .htaccess erhöhen

Hat man den Zugriff auf die .htacces-Datei, dann kann man den Speicher für die PHP-Anwendungen erhöhen. Vorausgesetzt, der Hoster hat nicht diese Möglichkeit gesperrt. Hier habe ich dann einfach den zur Verfügung stehenden Speicher auf 96 MByte erhöht:

php_value memory_limit 96M

Speicher über die wp-config.php erhöhen

Möchte man nicht für alle PHP-Anwendungen, sondern nur für WordPress die Grenze erhöhen, dann notiert man folgenden Code in die wp-config.php:

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

Die deutsche Sprachdatei deaktivieren

Wenn man die Speichergrenze nicht erhöhen kann oder möchte, dann kann man immer noch in der wp-config.php den Zugriff auf die deutsche Sprachdatei …

define ('WPLANG', 'de_DE');

… einfach auskommentieren:

//define ('WPLANG', 'de_DE');

Das deaktivieren der deutschen Sprachdatei hat ein paar Megabyte frei geschaufelt, so dass man auch mit dieser Lösung ins Backend (Adminbereich) konnte.

Das Problem kam von jetzt auf gleich ohne größere Ankündigung. Im Gespräch erfuhr ich das er einen Serverumzug hinter sich hatte und auf dem neuen Server ein 64-bit Betriebssystem werkelt.

Bei meinen Serverumzügen durfte ich feststellen, dass der Umzug von einem 32-bit auf ein 64-bit System den benötigten Speicherbedarf von ca. 32 MByte auf 44 MByte erhöht hat. Was eine nicht zu vernachlässigende Größe ist.

20 Reaktion(en)

  1. Dieter

    In der Tat frisst ein 64Bit Betriebssystem deutlich mehr PHP-Speicher. Erstmals aufgetreten ist dieses Phänomen mit WordPress 2.8 (siehe hierzu "Ursache des enormen Speicherbedarfs gefunden!" und "Enormer PHP-Speicherverbrauch – Ursache gefunden?!").

    Als weitere mögliche Maßnahme, um wieder Zugriff auf das Backend zu bekommen, funktionierte bei mir auch schon mal das Löschen der Dateien von aktiven Plugins über ftp. Muss allerdings in diesem Zusammenhang erwähnen, dass ich auch relativ viele Plugins einsetze.

  2. Karl

    Jetzt möchte ich (als PHP Nichtwirklichkenner) doch nachfragen: es genügt, wenn ich die Zeile define('WP_MEMORY_LIMIT', ’96M'); in die wp-config.php einfüge? Gib es einen Platz wo sie hin muss oder ist das egal? 😉 K

  3. Marcus

    Ja das mit dem Speicher ist schon ärgerlich !
    Vr allem, wenn man mal längere Zeit nicht im Blog tätig war und nach Tagen merkt, dass diese Fehlermeldung auftritt ….. 😳

  4. Pingback: Speicherüberlauf bei WordPress, das kann passieren. Was tun? | SEOshack

  5. Ralf

    Ich hätte auch als erstes via FTP Plugins gelöscht bzw. den kompletten Ordner umbenannt.

    Mir ist so etwas noch nicht passiert. Aber vielleicht wäre es wohl gar nicht verkehrt ein Script zu haben mit der man quasi in einen Notbetrieb gehen kann, vergleichbar mit dem abgesicherten Modus von Windows.
    Das Script müsste ja nicht sehr viel können. Plugins deaktivieren und ein paar Optionen ändern.

    1. Perun

      Hallo Ralf,

      Ich hätte auch als erstes via FTP Plugins gelöscht bzw. den kompletten Ordner umbenannt.

      Schneller ist das nicht, zudem kann mit einem Blick in die .htaccess und wp-config.php auch nachschauen ob dort nicht evtl. ein zu niedriger PHP-Speicher-Wert eingetragen ist.

  6. Pingback: Dog on Tour » Wordpress: Upgrade auf Version 3.0.1

  7. Jürgen Schnick

    Ist das eigentliche Problem nicht der Hoster? Viele Hoster stellen nur 40 MB für PHP zur Verfügung (meiner: 1+1 leider auch). Alle Versuche, da mal etwas mehr z.V. gestellt zu bekommen sind leider gescheitert (ist halt Massenmarkt, da gibt es keine Ausnahmen, weil für den Hoster zu teuer).

    Kennt jemand Hoster, die Verständnis für Blogger haben und gleich 96 MB o.ä. zur Verfügung stellen?

    Jürgen Schnick

  8. Dirk

    Also meine Erfahrung ist, dass die Versuche über die .htaccess bzw wp-config.php nur selten funktionieren. Wenn die entsprechende Fehlermeldung erscheint, erst einmal via FTP das auslösende Plugin löschen, damit der Blog wieder erreichbar ist. Danach dann beim Hoster um mehr Speicherplatz bitten. Viele kleine Hoster machen das gerne und ohne Probleme.

    1. Perun

      Hallo Dirk,

      Also meine Erfahrung ist, dass die Versuche über die .htaccess bzw wp-config.php nur selten funktionieren.

      Es funktioniert bei meinem Provider all-inkl und hat bei dem Kollegen funktioniert, warum soll ich mir dann Gedanken machen, wie es bei einem Hoster funktioniert, der seine Kunden gängelt. Man sollte sich immer bemühen, die beste Lösung umzusetzen.

      Wenn die entsprechende Fehlermeldung erscheint, erst einmal via FTP das auslösende Plugin löschen, damit der Blog wieder erreichbar ist.

      es ist wesentlich einfacher und schneller die deutsche Sprachdatei zu deaktivieren (zwei Schrägstriche eintippen), als bei einem nicht-erreichbaren Blog nach dem schuldigen Plugin suchen. Das kann man dann, wenn das Blog wieder erreichbarer ist, viel effektiver machen, weil man dann genau durch Hilfe von z. B. WP-Memory-Usage genau auslesen kann.

  9. Pingback: Wordpress: Pingbacks und Tracebacks bei 1&1 | Zwalle's World

  10. Dirk

    Moin moin Perun,

    wenn der Fehler "einfach so" auftaucht, stimmt das natürlich. Aber aus meiner Erfahrung verabschiedet sich WordPress meistens, wenn man ein neues PlugIn aktiviert. Dann weiß man ja, wer der Verursacher ist und kann diesen direkt wieder löschen. Danach beginnt dann die Fehlersuche, bzw. die Kommunikation mit dem Hoster.

    Danke für den Tipp mit all-inl.com

    Gruß Dirk

  11. Pingback: Links #59 Gastartikel, Webdesigner, Wordpress, ein Experiment und Blogtipps | NETZ-ONLINE

  12. bassoprofondo

    Hatte das memory Problem auch bei 1und1. Nach einiger Umschau bzgl. div. Hoster bin ich nun mit einigen Blogs umgezogen zu WebHostOne_de. Je nach gewähltem Paket gibt´s dort unterschiedlichen Memory Limit (wird dort "Paketpower für Ihre Scripte RAM" genannt), von 64 MB bis 128 MB und nützlich für erfahrene Anwender, ist die php.ini frei editierbar (ab Profi V2 Paket). M.E. einziger Nachteil des Hosters: Telefonsupportzeiten nur von Mo.-Fr.

  13. Michael

    Ich habe mit meinen 64 MB noch kein Problem, meine Auslastung liegt noch bei ca. 60%, behalte das aber im Auge, ggf. muss ich die Speicheraufrüstung zahlen, aber noch sind meine beiden Blogs zu klein, als dass da Probleme auftauchen.

  14. Daniel

    Ich bin beo prosite.de und konnte den Speicherbedarf auf 64 ohne Probleme in der .htacces-Datei erhöhen. In der php.ini zeigte das besagte Ram Plugin nichts an!

    Grosser speicherfresser war und ist der brokenlinkchecker mit fast 2 mb ram!

    lg daniel

  15. Michael

    es ist wesentlich einfacher und schneller die deutsche Sprachdatei zu deaktivieren (zwei Schrägstriche eintippen), als bei einem nicht-erreichbaren Blog nach dem schuldigen Plugin suchen.

    Naja, erklär das mal dem Kunden, der sich seine Domain bei 1&1 gesichert hat und der der englischen Sprache nicht mächtig ist. Der wird sich bedanken, wenn das Backend auf einmal Englisch mit ihm spricht 😉

    Im Grunde genommen hast Du vollkommen recht, aber es ist halt nicht immer so einfach wie man es gerne hätte. Oft hilft halt nur die Plugin-Deinstallation. Eben auch dann, wenn der Kunde nicht gewillt ist mit seiner Domain umzuziehen.

  16. los3r

    Danke!
    Ich dachte ich hätte einen deutlich zu hohen Speicherverbrauch aber da ich 64 Bit nutze hält sich die Sache noch im rahmen.
    Ich werde das Limit entsprechend anpassen.

    Gruß
    los3r

Die Kommentare in diesem Beitrag sind geschlossen.