Das PHP Memory Limit in WordPress erhöhen

Das PHP Memory Limit in WordPress erhöhen

Lesedauer: 4 Minuten

How to – Wie löse ich ein Problem oder wie mache ich das und das? Diese Frage wird bei Webworkern oder Bloggern immer mal wieder auftauchen.

Daher will ich in loser Folge oder bei aktuellem Anlass Artikel veröffentlichen, in denen gängige Probleme – sei es nun mit der Technik, mit Software oder anderen Arbeitsschritten – erläutert und gelöst werden.

Das Problem, über das ich heute schreibe, hatte ich selbst schon ein paar Mal und gerade wieder vergangene Woche.

Fatal error: Allowed memory size exhausted

Und zwar die Meldung “Fatal error: Allowed memory size of XXXX bytes exhausted (tried to allocate XXXX bytes in …”. Die X stehen für Zahlen.

Doch was bedeutet diese Meldung und wann kann sie vorkommen? Einmal ist mir die Fehlermeldung erschienen, nachdem ich ein Plugin auf einem WordPress-System installiert habe, das wohl zu viel Ressourcen oder Leistung beansprucht hat. Danach konnte ich keine Änderungen an Blogartikeln oder Seiten vornehmen, bzw. keine neuen Blogbeiträge mehr erstellen, denn immer wieder kam beim Drücken auf den Veröffentlichen-Button die obige Warnung.

Ein anderes Mal kam die Meldung, nachdem ich wichtige Plugins installiert habe und dann Änderungen an den Theme Options vornehmen wollte. Das klappte auch nicht mehr.

Hinter dieser Fatal-Error-Meldung steckt der Hinweis, dass dem System zu wenig PHP-Memory-Limit zur Verfügung steht. Das passiert meistens nach einer weiteren Plugin-Installation oder nach einem Update.

Um PHP-Anwendungen nutzen zu können, wird vom Hoster in den meisten Fällen ein sogenanntes Memory Limit festgelegt. Dieses beschreibt den maximalen Speicherverbrauch, den die PHP-Skripte der Website verwenden dürfen. Meist sind diese Werte bei 110 oder 120 MB festgelegt, aber auch höhere Werte von beispielsweise 256 MB sind möglich.

Weniger als 64 MB sollte der Memory Limit allerdings nicht betragen, was auch bei den wenigsten Hostern der Fall ist.

Wird dann die Fehlermeldung angezeigt, versucht WordPress mehr Speicher für sich beanspruchen als ihm von den Servereinstellungen aus zusteht. Oft kommt der Fatal Error wirklich ganz plötzlich.

Wie stelle ich die Höhe des PHP Memory Limits fest?

Um seinen eigenen Memory Limit zu überprüfen, kann man ein kleines WordPress-Plugin installieren, nämlich WP-Memory-Usage. Ist das Plugin installiert und aktiviert, zeigt es auf der Dashboard-Seite in WordPress an, wie viel Memory Limit einem zur Verfügung steht.

Oder man schaut in seinem Kundenaccount des Hosters nach, wie die php.ini-Einstellungen – und dort speziell der Wert memory_limit  – aussehen. Normalerweise kann man die php.ini irgendwo im Account einsehen.

WP System Health, ein weiteres Plugin, das Serverumgebung und WordPress-Parameter anzeigt, ist da noch ein bisschen ausführlicher, aber so wie es aussieht, wird es nicht mehr weiter aktualisiert und funktioniert nicht immer hundertprozentig richtig.

Da meistens Plugins an dem Fatal Error schuld sind, kann man mit dem P3-Plugin herausfinden, welches von ihnen ein großer Ressourcenfresser ist. Manchmal gibt es in der umfangreichen Pluginauswahl dann bessere Alternativen, aber nicht immer. Dann sollte man sich entscheiden, ob man diese Plugins benötigt oder ob man in ein höheres Webspace-Paket upgradet, weil man den Memory Limit selbst nicht erhöhen kann.

Denn oft lässt der Hoster nicht zu, dass man sein PHP Memory Limit eigenhändig erhöht. Um das herauszufinden, sollte man eine Supportanfrage an seinen jeweiligen Provider stellen.

3 Möglichkeiten, das PHP Memory Limit zu erhöhen

Doch manche Hoster geben einem die Möglichkeit, das PHP Memory Limit zu steigern. Es gibt drei Möglichkeiten, dies zu tun.

Doch Vorsicht, wer dabei einen Fehler macht, kann schon mal die Website “ausschalten”. Dann hilft nur, den Schritt wieder rückgängig zu machen, was aber ziemlich schnell vonstattengeht.

1. Möglichkeit: wp-config.php anpassen

Die erste Möglichkeit, den Memory Limit zu erhöhen, ist die, einen kleinen Codeschnipsel in die wp-config-Datei einzufügen.

define (‘WP_MEMORY_LIMIT’, ’256M’);

Am besten fügen Sie diesen Code an den Anfang der config-Datei hinter die Zeichenfolge <?php oder unter die Zeile define(‘WPLANG’, ‘de_DE’); ein. Den Wert “256 M” für 256 MB können Sie auch austauschen mit “128 M”, falls Sie einen niedrigeren Wert eintragen wollen. Weniger als 128 MB sollten Sie aber nicht auswählen.

Bei dieser Anpassung passiert recht wenig, d. h. man kann seine Website nicht “zerschießen”.

Hinweis: Das Plugin WP-Memory-Usage zeigt nach der Anpassung den neuen Wert des PHP Memory Limits an, doch das heißt nicht, dass der Hoster dies wirklich zulässt. Die Angabe kann also schon mal täuschen. Daher sollten Sie vor Anpassungen den Hoster anfragen, ob Sie den Memory-Wert selbst erhöhen können. Ansonsten sind die hier beschriebenen Schritte sinnlos.

2. Möglichkeit: Eigene php.ini erstellen

Sie können eine eigene php.ini erstellen, indem Sie einfach eine Text-Datei mit diesem Namen anlegen und folgenden Schnipsel einfügen:

memory_limit=256M

Die Datei muss dann noch ins Root- bzw. Stammverzeichnis der Website eingefügt werden.

3. Möglichkeit: .htaccess anpassen

Wer sich schon ein bisschen mehr zutraut, kann in seine .htaccess-Datei eine neue Zeile einfügen. Dafür muss man die Datei herunterladen und folgende Zeile eingeben:

php_value memory_limit 256M

Um eine .htaccess-Datei öffnen zu können, muss sie in eine Text-Datei umgewandelt werden. Wenn die Datei wieder hochgeladen wird, können Sie einfach die Dateiendung .txt auf dem Webserver entfernen und an den Anfang der Datei wieder einen Punkt setzen.

Wer eine .htaccess zum ersten Mal anlegen will, erstellt einfach eine. txt-Datei und führt die oben genannten Schritte aus.

Die eingestellten Änderungen müssten Sie mittels der genannten Plugins WP Memory Usage oder WP System Health angezeigt bekommen. Wenn nicht, dann ist wahrscheinlich irgendwo ein Fehler vorhanden. Oder Sie müssen eine andere der oben aufgeführten Möglichkeiten ausprobieren, denn nicht jede funktioniert bei jedem Hoster.

Fazit

Die Anzeige “Fatal error: Allowed memory …” kann ganz schön nervend sein. Zum Glück gibt es Lösungsmöglichkeiten, wie die oben aufgeführten. Macht der Hoster allerdings eine Anpassung unmöglich, bleibt einem nichts anderes übrig, als eigentlich in ein höheres Paket oder gleich den Hoster zu wechseln.

Oder man beschränkt seine Pluginanzahl, was allerdings eine schlechte Alternative ist, denn schließlich benötigt man ja bestimmte Plugins und wird man da eingeschränkt, macht das ganze keinen Spaß mehr.

Daher kann ich jedem empfehlen, solche Hoster auszuwählen, die eine Anpassung der php.ini-Werte zulassen.

Teile diesen Beitrag:


Schreibe einen Kommentar

WordPress Cookie Hinweis von Real Cookie Banner