Ihr Browser ist veraltet
Um sicher im Internet zu surfen und moderne Websites richtig darzustellen, empfehlen wir Ihnen ein Update.
Hier auf Updates prüfen

29.12.2023

PHP Memory Limit

PHP Memory Limit

Die serverseitige Skriptsprache PHP ist bei der Mehrheit von Web Anwendungen und dynamischen Webseiten in Verwendung. Auch viele Content Management Systeme wie Magento, Joomla und WordPress basieren auf solchen Skripts. Die Sprache wird für ihre gute Verständlichkeit geschätzt, doch was uns als Mensch leichter zu lesen scheint, können Maschinen nicht verarbeiten. So muss mittels eines Interpreters der Code quasi übersetzt werden. Wie dies letztendlich ausgeführt wird, gibt die php.ini Datei vor.

Funfact zu PHP: der Name ist ein sogenanntes rekursives Akronym und steht für „PHP: Hypertext Preprocessor“ – es referenziert sich also selbst. Früher stand PHP (Tools) für „Personal Home Page Tools“

PHP in WordPress

Wie bereits erwähnt basiert auch WordPress auf Skripts, die auf dem Server gespeichert und ausgeführt werden und, wie jedes Programm, nehmen auch PHP-Skripts Arbeitsspeicher ein. Damit der Server bei sehr großen, fehlerhaften oder gehackten Dateien, die übermäßig viel Arbeitsspeicher in Anspruch nehmen, funktionsfähig bleibt, wird die Ressource Arbeitsspeicher limitiert – mittels des sogenannten PHP Memory Limits.

Ohne dieses Limit wäre es möglich einen Server mit einer Endlosschleife komplett lahm zu legen. Hierfür bedarf es nur einem kleinen Fehler in der Programmierung, die in einem Loop eine Variable anlegt, speichert und den Wert eben dieser mit jedem Durchgang um 1 erhöht.

Das PHP-Memory-Limit ist somit eine grundlegende Konfigurationseinstellung, die die maximale Menge an Speicher regelt, die ein PHP-Skript während der Laufzeit verwenden kann. Standardmäßig liegt das PHP Memory Limit zwischen 128 MB und 256 MB, doch das variiert von Hosting zu Hosting. Wenn der Zugewiesene Arbeitsspeicher mal nicht ausreichen sollte, gibt es mehrere Möglichkeiten das Limit hoch zu setzten.

Wo kann man das aktuelle Limit einsehen?

Wer sich jetzt fragt, bei welcher Größe das PHP Memory Limit der eignen WordPress Installation liegt, kann das ganz einfach selbst in Erfahrung bringen.

  1. Dazu einfach in der linken Spalte „Werkzeuge“ > „Website-Zustand“ auswählen

  1. Dann oben auf den Reiter „Bericht“ klicken

  1. Und im Akkordeon „Server“ aufklappen – dort steht dann in der Liste auch das Limit

Das PHP Memory Limit erhöhen

  1. In der config.php

Hierzu per FTP auf den Server zugreifen, im Rootverzeichnis von WordPress die config.php aufrufen und dort nach der folgenden Zeile suchen:

define('WP_MEMORY_LIMIT', 'x');

Das x steht stellvertretend für die Höhe des Limits. An dieser Stelle dann das neue gewünschte Limit eintragen wie zum Beispiel 256M.

  1. In der php.ini

Die php.ini ist die Konfigurationsdatei des PHP Interpreters und enthält Einstellungen, die meist den gesamten Server betreffen. Es gibt jedoch auch die Möglichkeit eine individuelle lokale php.ini Datei anzulegen – auch das variiert von Anbieter zu Anbieter. Soll das Memory Limit hier rüber angepasst werden, einfach nach „Ressource Limits“ suchen und der entsprechende Eintrag sieht wie folgt aus:

memory_limit = x

  1. Mittels der .htaccess

Sofern der Hostinganbieter Zugriff auf die .htaccess Datei erlaubt, kann das PHP Memory Limit auch darüber hochgesetzt werden.

php_value memory_limit x

Es kann jedoch auch gut sein, dass der Hostinganbieter das eigenständige Verändern des Limits gar nicht erlaubt. In diesem Fall einfach beim Support melden und das Hosting übernimmt die Änderung. Allgemein sollte der Hostinganbieter kontaktiert werden, wenn Unsicherheit besteht. Werden versehentlich andere Werte in den Dateien verändert, kann es zu Sicherheitslücken führen oder zur Folge haben, dass die Seite nicht mehr aufgerufen werden kann.

Quellen

https://www.php.net/manual/de/history.php.php

https://kinsta.com/knowledgebase/php-memory-limit/

https://developer.mozilla.org/en-US/docs/Glossary/PHP

Kontakt

Für Ihre Fragen, Anregungen und Anmerkungen haben wir immer ein offenes Ohr.

Sie können uns natürlich auch telefonisch erreichen:
034298 / 208 478