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.
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
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');
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.
Hinweis:
Kostenloser WordPress-Newsletter
Wöchentl. Newsletter zu WordPress und verwandten Themen
1. – Dieter
Kommentar vom 11. September 2010 um 08:07
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
Kommentar vom 11. September 2010 um 09:03
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
Kommentar vom 11. September 2010 um 10:49
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. – Speicherüberlauf bei WordPress, das kann passieren. Was tun? | SEOshack
Pingback vom 11. September 2010 um 10:56
[...] heisst? Gewusst wie: gute Lösungen stellt uns Perun vor, unter dem Motto: WordPress, Speicher überlaufen – was tun? [...]
5. – Perun
Kommentar vom 11. September 2010 um 11:52
@Karl,
das ist eigentlich egal, am besten notierst du dies direkt nach der Angabe für die deutsche Sprachdatei.
6. – Ralf
Kommentar vom 11. September 2010 um 13:09
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.
7. – Dog on Tour » Wordpress: Upgrade auf Version 3.0.1
Pingback vom 11. September 2010 um 16:50
[...] alle die ebenfalls mit diesem Problem konfrontiert sind, kann ich den Artikel von Perun zu diesem Thema empfehlen. Weitere Infos dazu gibt es auch bei WordPress [...]
8. – Perun
Kommentar vom 11. September 2010 um 17:31
Hallo Ralf,
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.
9. – Jürgen Schnick
Kommentar vom 11. September 2010 um 18:59
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
10. – Dieter
Kommentar vom 11. September 2010 um 19:14
@Jürgen
Bei meinem Hoster alfahosting.de kann ich im Multipaket in der wp-config.php 96MB eintragen und bekomme die dann auch bereit gestellt.
11. – Dirk
Kommentar vom 12. September 2010 um 08:50
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.
12. – Perun
Kommentar vom 12. September 2010 um 11:52
Hallo Dirk,
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.
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.
13. – Wordpress: Pingbacks und Tracebacks bei 1&1 | Zwalle's World
Pingback vom 13. September 2010 um 07:56
[...] Perun.net gibt es auch noch einen Artikel zu Memory-Problemen. Hier wird empfohlen, die Spracheinstellungen [...]
14. – Dirk
Kommentar vom 13. September 2010 um 11:37
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
15. – Links #59 Gastartikel, Webdesigner, Wordpress, ein Experiment und Blogtipps | NETZ-ONLINE
Pingback vom 14. September 2010 um 08:01
[...] Speicher verbraucht. Wer also selbst mit Problem konfrontiert ist, kann sich bei Perun, mal die drei Lösungsmöglichkeiten durchlesen, die in diesem Fall geholfen [...]
16. – bassoprofondo
Kommentar vom 19. September 2010 um 09:51
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.
17. – Michael
Kommentar vom 19. September 2010 um 14:19
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.
18. – Daniel
Kommentar vom 22. November 2010 um 05:42
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
19. – Michael
Kommentar vom 24. July 2011 um 00:28
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.