In diesem Artikel möchten wir Ihnen den Ursprung und die Lösung einer häufig auftretenden Fehlermeldung in Bezug auf das WordPress Memory Limit erläutern. Diese Fehlermeldung erscheint oft im Backend von WordPress (kann aber ebenso das Frontend betreffen) und kann das System teilweise oder sogar komplett unbenutzbar machen.
Die besagte WordPress Memory Limit Fehlermeldung könnte z. B. wie folgt lauten:
Fatal error: Allowed memory size of 654321 bytes exhausted (tried to allocate 12345 bytes) in /var/www/domain.de/wordpress/file.php on line 123
Während der Bytes-Wert, der Dateipfad und die Zeile, in welcher der Fehler auftritt, variieren können, bleibt die zugrunde liegende Ursache gleich. Im Folgenden werden wir Ihnen erklären, warum dieser Fehler auftritt und wie Sie ihn beheben können.
Inhaltsverzeichnis
Was bedeutet die WordPress Memory Limit Fehlermeldung
WordPress basiert auf der Skriptsprache PHP (PHP: Hypertext Preprocessor, ursprünglich Personal Home Page Tools). In der PHP-Konfigurationsdatei gibt es einen Wert namens „memory_limit“, der das Speicherlimit festlegt, das ein PHP-Script während seiner Ausführung nutzen darf. Diese Einstellung soll den Server vor einem Überlaufen des Arbeitsspeichers schützen und so die Stabilität des Webservers gewährleisten. Genau genommen reden wir also nicht vom WordPress Memory Limit, sondern dem PHP Memory Limit, welches von WordPress überschritten wird.
Die Fehlermeldung, die in Ihrem Frontend oder Backend von WordPress erscheint, möchte Ihnen das folgende Problem aufzeigen:
Das aktuell ausgeführte Skript (WordPress inkl. des aktiven Themes und aller Plugins) versucht, mehr Arbeitsspeicher zu reservieren, als in den Einstellungen erlaubt ist. In den meisten Fällen werden diese Einstellungen von Ihrem Webhoster festgelegt.
Ursachen des WordPress Memory Limit Fehlers
Der Fehler tritt auf, wenn Ihr WordPress-System zu viel Arbeitsspeicher belegen will oder muss. Der Bedarf an Arbeitsspeicher steigt mit jedem Plugin, das Sie in Ihrem WordPress-System installieren und einsetzen. Auch abhängig vom gewählten Theme können unterschiedliche Speicherbelegungen entstehen.
Zudem kann es zu speicherintensiven Vorgängen direkt in WordPress kommen, z. B. bei der Massenbearbeitung von Inhalten oder bei der Bearbeitung und Erstellung von Bildern.
Die langfristige Lösung für das WordPress / PHP Memory Limit Problem
Die typische Lösung für zu wenig Speicher besteht darin, das System aufzurüsten. In vielen Fällen bleibt Ihnen bei einem Shared-Webhosting-Paket tatsächlich keine andere Wahl, als das Paket zu upgraden oder den Webhoster komplett zu wechseln.
Bevor Sie dies tun, sollten Sie jedoch folgende Möglichkeiten ausprobieren, um das PHP / WordPress Memory Limit zu erhöhen:
Ändern der PHP memory_limit Einstellung: Wenn Sie über einen eigenen Root-Server, VPS oder Shared-Hosting mit entsprechenden Rechten verfügen, können Sie das PHP Memory Limit über die php.ini, direkt über PHP (z. B. in der wp-config.php) oder eine .htaccess Datei bei Apache Webservern erhöhen. Rechnen Sie dabei den Byte-Wert aus der Fehlermeldung in MB um, um herauszufinden, wie viel Speicher Ihnen fehlt und auf welchen Wert Sie erhöhen müssen. Die folgenden 128 MB sind nur ein Beispiel.
In der PHP-Konfigurationsdatei „php.ini“ suchen Sie nach der entsprechenden Zeile und passen diese an (ggf. ist diese am Anfang durch ein ; (Semikolon) auskommentiert):
memory_limit = 128M;
Oder fügen Sie in Ihrer wp-config.php direkt nach dem beginnenden <?php Tag folgendes ein:
@ini_set(‚memory_limit‘, ‚128M‘);
Alternativ kann in der wp-config.php auch der folgende Eintrag für das WordPress Memory Limit gesetzt werden:
define(‚WP_MEMORY_LIMIT‘, ‚128M‘);
Oder in der .htaccess:
php_value memory_limit 128M
In manchen Fällen können die oben genannten Speicheranpassungen helfen und das System wieder lauffähig machen.
Gerade bei umfangreichen Shop-Systemen mit WooCommerce kann ein WordPress System zwischen 512 MB bis 1024 MB an PHP Memory Limit benötigen.
Sollte Ihr System selbst bei 1024 MB Memory Limit noch streiken, empfiehlt sich dringend eine Prüfung der Komponenten und Plugins, da der Speicherverbrauch sich dann in einem unverhältnismäßig hohen Rahmen befindet.
Dies kann bei einzelnen Aktionen oder Massenbearbeitung im Backend zwar normal sein, sollte jedoch niemals als Standardwert für das Frontend notwendig sein. In dem Fall wäre der hohe Memory Limit Wert ein Indikator für ein schlecht optimiertes System.
Zum Vergleich: Das WordPress Core System kommt in der Regel mit einem PHP Memory Limit von gerade einmal 32 MB problemlos aus. Alles darüber hinaus wird in der Regel von Theme und Plugins belegt.
Kurzfristige Lösungsmöglichkeiten
Wenn die langfristigen Lösungsansätze nicht helfen, können Sie versuchen, den Speicherbedarf kurzfristig zu reduzieren.
Hier sind einige Vorschläge:
- Deaktivieren von Plugins: Schalten Sie im ersten Schritt nicht benötigte oder verzichtbare Plugins ab.
- Abschalten der Übersetzungen: Eine weitere Möglichkeit ist das Abschalten der Übersetzungen, da diese teilweise einen umfangreichen Speicherbedarf haben. Öffnen Sie dazu Ihre wp-config.php und setzen Sie den Wert der WPLANG auf en_US. Alternativ können Sie die Konstante komplett entfernen oder auskommentieren.
define(‚WPLANG‘, ‚en_US‘);
Da die meisten WordPress-Plugins sowie das WordPress-System selbst im Original in englischer Sprache gehalten sind, müssen bei dieser Umstellung die Übersetzungsdateien nicht mehr geladen werden.
Der nun frei gewordene Speicher reicht oftmals aus, um das System wieder in vollem Umfang zum Laufen zu bringen.
Sobald das System wieder läuft, können Sie in Ruhe prüfen, ob sich eventuell der Speicher erhöhen lässt, wie zuvor beschrieben.
Zusammenfassung
Der „Fatal error: Allowed memory size exhausted“ in WordPress tritt auf, wenn das System versucht, mehr Arbeitsspeicher zu reservieren, als erlaubt ist (PHP bzw. WordPress Memory Limit). Dieser Artikel hat Ihnen sowohl langfristige als auch kurzfristige Lösungsmöglichkeiten vorgestellt, um dieses Problem zu beheben. Eine langfristige Lösung besteht darin, das memory_limit zu erhöhen oder den Webhoster bzw. das Hosting-Paket zu wechseln. Kurzfristige Lösungen können das Deaktivieren von Plugins oder das Abschalten von Übersetzungen sein. Probieren Sie die vorgestellten Lösungen aus und bringen Sie Ihr WordPress-System wieder zum Laufen.
Falls Sie weiterhin Probleme mit Ihrer WordPress Webseite haben, stehen Ihnen unsere Entwickler gerne mit Rat und Tat zur Seite. Nehmen Sie einfach Kontakt zu uns auf.