Was ist das PHP Memory Limit und wie lässt es sich verändern?
PHP ist eine Programmiersprache, die optimale Voraussetzungen für Webanwendungen bietet. Sie wird von nahezu allen Content Management Systemen (CMS) wie TYPO3, WordPress, Joomla oder Contao und von Shop-Systemen wie Shopware und Magento verwendet. Wesentliche Einstellungen werden in einer zentralen Konfigurationsdateie php.ini gespeichert, die sich häufig über das CMS oder auch direkt über einen Texteditor bearbeiten lässt. Ein wichtiger Parameter dieser Datei ist das PHP Memory Limit.
Was genau hinter dem Begriff PHP Memory Limit steckt und wie sich dieses individuell anpassen lässt, erklärt der folgende Artikel:
Wie funktioniert PHP?
PHP gehört zu den sogenannten Skriptsprachen. Das bedeutet, dass Programme als leicht verständlicher Code geschrieben werden. Anschließend übernimmt ein Interpreter die Verarbeitung, in dem er ein Programm Zeile für Zeile liest und die Anweisungen entsprechend seiner php.ini ausführt. CMS wie Magento, WordPress oder Joomla bestehen aus einer Vielzahl von Skripten, die jeweils eine bestimmte Aufgabe übernehmen. Sie werden in einen bestimmten Bereich des Arbeitsspeichers geladen, der durch das PHP Memory Limit begrenzt wird und sich individuell erhöhen lässt. Die PHP Skripte dienen dazu, aus verschiedenen Quellen wie einer Datenbank, externen Dateien und speziellen Stilvorlagen - den css-Dateien - eine Webseite im HTML Format zu erstellen. Diese wird durch anwenderseitige Skripte ergänzt, die in anderen Sprachen wie Java oder JavaScript geschrieben sind und zum Beispiel interaktive Bedienung wie Spiele oder animierte Menüs ermöglichen. Passende Webspace Pakete mit PHP Unterstützung sind im PHP Webhosting Vergleich zu finden.
Was ist das PHP Memory Limit und welchen Zweck dient es?
Wie bereits erwähnt, reserviert PHP einen Teil des Arbeitsspeichers, um dort Skripte ablegen und ausführen zu können. Die Größe dieses Bereichs wird durch das PHP Memory Limit in der php.ini definiert. Die Limitierung durch das PHP Memory Limit schützt einen Computer davor, durch eine schlechte oder fehlerhafte Programmierung in seiner Performance beeinträchtigt zu werden. Ein einfaches Beispiel dafür wäre eine Schleife, die eine Variable anlegt und speichert, deren Namen und Wert sich bei jedem Durchgang um 1 erhöhen. Ohne ein PHP Memory Limit in der php.ini würde diese dazu führen, dass der gesamte Arbeitsspeicher im Laufe der Zeit durch diese eine Schleife belegt wird. In der Folge steigen die Ladezeiten und unter Umständen kann sogar das Betriebssystem selbst instabil werden, da kein Speicher für dessen Daten zur Verfügung steht.
Wie hoch sollte ein PHP Memory Limit im produktiven Betrieb sein?
Bei einem Webhosting beträgt die Standardgröße des PHP Memory Limit meist zwischen 32 MB und 64 MB. Dies ist für die Basisinstallation eines CMS wie WordPress, Contao, Joomla oder TYPO3 ausreichend und erlaubt einen stabilen Betrieb. Aufwendige Plugins, große Datenbanken oder viele Erweiterungen führen dazu, dass mehr Speicher für die Skripte und deren Daten benötigt werden. In diesem Fall gibt PHP statt einer Webseite nur eine Fehlermeldung aus, die beispielsweise folgendes besagt:
Fatal error: Allowed memory size of XXXXXX bytes exhausted (tried to allocate XXXXXX bytes) in /var/www/html/skript.php
In diesem Fall ist es notwendig, das PHP Memory Limit zu erhöhen, damit dem Interpreter ausreichend temporärer Speicher für die Ausführung aller Skripte zur Verfügung steht. Empfohlene Limits für ein CMS liegen zwischen 32 MB (WordPress) und 256 MB (Shopware) - mehr als 512 MB sind nur selten notwendig und weisen häufig auf Probleme in der Programmierung hin.
Jetzt Angebote von passenden Webhostern vergleichen
Zum Anbieter VergleichWie lässt sich das PHP Memory Limit erhöhen?
Die meisten Webhoster erlauben es ihren Kunden, das PHP Memory Limit innerhalb gewisser Grenzen erhöhen. Dafür gibt es verschiedene Wege, die nicht alle gleichzeitig von jedem Internet Service Provider angeboten werden:
- Methode 1: Änderung in der php.ini
Die php.ini enthält eigentlich die "globale" Konfiguration des PHP Interpreters - das bedeutet, Änderungen in der php.ini gelten prinzipiell für den gesamten Server. Allerdings erlauben einige Provider auch das Anlegen einer individuellen php.ini, in der ihre Kunden lokale Einstellungen treffen können. Die php.ini besteht zu ihrem größten Teil aus Kommentaren, die die Datei und ihre Funktionen sehr umfangreich und anschaulich dokumentieren. Sie enthält einen Abschnitt Resource Limits, in dem sich neben der maximalen Laufzeit eines Skriptes auch das PHP Memory Limit erhöhen lässt. Es wird mit dem Eintrag
memory_limit = 64M
festgelegt - hier sind es 64 MB. Bei einem eigenen Root Server oder VPS sind Kunden selbstverständlich frei, das PHP Memory Limit beliebig zu erhöhen. Bei einem Webspace wird der Anbieter seinen Kunden jedoch selbstverständlich in der Regel verbieten, globale Konfigurationen (die auch andere Nutzer betreffen) zu verändern.
- Methode 2: Eine .htaccess Datei
Neben der php.ini lässt sich das PHP Memory Limit auch in einer .htaccess Datei erhöhen. Diese liegt in dem untersten Verzeichnis von WordPress, TYPO3, Contao oder anderen CMS und beinhaltet Anweisungen, die vor dem Ausführen eines Skriptes gelesen und angewendet werden. Die entscheidende Einschränkung ist, das .htaccess lediglich von einem Apache 2 Webserver unterstützt wird. Um das PHP Memory Limit zu erhöhen, reicht das Anlegen einer Datei mit dem Namen .htaccess und dem Inhalt
php_value memory_limit 64M
- Methode 3 (WordPress): Definition in der config.php
Einige CMS wie WordPress erlauben es, das PHP Memory Limit in ihrer lokalen Konfigurationsdatei zu erhöhen. Dazu muss die Datei Installation/wp-config.php (WordPress) geöffnet und folgende Neudefintion eingefügt werden
define('WP_MEMORY_LIMIT', '64M');
Es ist zu beachten, dass jeder Webspace und jeder Internet Service Provider das maximale PHP Memory Limit seiner Kunden einschränkt, um den Speicherverbrauch zu kontrollieren. Die zulässige Höchstgrenze liegt meist je nach Anbieter zwischen 128 und 512 MB. Eine Serverüberwachung sollte beim professionellen betreiben einer Website ein Must-Have sein.
Jetzt Angebote von passenden Webhostern vergleichen
Zum Anbieter VergleichFoto: Boskampi | pixabay.com
Schreibe einen Kommentar
- Webhosting
- Webspace
- PHP
Tags zu diesem Artikel
Weitere Webhoster
Weitere interessante Artikel
Webseite vor Hackern und Malware schützen - 6 Tipps für mehr Sicherheit
Webseitenbetreiber müssen jederzeit mit Angriffen von Hackern auf die eigene Onlinepräsenz rechnen. Doch welche Maßnahme...
Wie geht ein Webhosting Providerwechsel?
Wir zeigen wie ein Webhosting Providerwechsel reibungslos funktioniert und auf was dabei geachtet werden sollte.
Im Jahr 2006 riefen wir hosttest ins Leben, um den Webhosting Markt im DACH-Raum transparenter zu machen. Mit derzeit über 400 Webhostern und über 10.000 Angeboten bieten wir dir die beste Grundlage, den für dich passenden Anbieter für Hosting-Leistungen zu finden.
Seit 2015 küren wir zudem alljährlich unsere Webhoster des Jahres und würden uns in Zukunft auch über deine Stimme freuen.
Mehr über uns...