PHP.ini .::. memory_limit: Speicherplatz für die Skripte
Viele Funktionen kommen und gehen in der php.ini-Datei, mit der PHP am Server eingestellt werden kann und muss, doch manche Funktionen werden wohl ewig enthalten bleiben, weil ohne ihre Werte ein Betrieb kaum vorstellbar ist. Zu diesen Funktionen zählt auch das Limit für den Speicher, den ein Skript verwenden darf.
Man stelle sich folgende Situation vor: Ein Provider bietet Webhosting-Pakete an und hat kein memory_limit eingestellt. Einer der Kunden verwendet ein fehlerhaftes Skript und da es keine Speicherbegrenzung gibt, wird mit dem Aufruf der gesamte Speicher ausgelastet, was zur Folge haben kann, dass die Ladezeiten für sämtliche Webseiten des Servers ewig lang werden oder noch schlimmer: die Webseiten erzeugen Fehler ohne Ende.
Daher gibt es die Einstellung memory_limit in der php.ini. Sie reguliert, wieviel Speicher ein Skript verwenden darf, wobei es eine Voreinstellung gibt, wenn man den Server neu aufsetzt. Ältere Versionen liefern einen Wert von 8M, also 8 Megabyte, die ein Skript maximal verwenden darf, modernere Versionen und Betriebssysteme bietet 128M an. Es hängt dann auch immer davon ab, was man genau mit PHP und seinen Skripten vorhat, denn große Content Management Systeme (CMS) wie beispielsweise Typo3 fordert schon 64MB für einen einwandfreien Betrieb, obwohl es mit 32MB auch läuft.
Will ein Skript also so ganz und gar nicht oder scheitert man nach dem Installieren des Servers bzw. nach der Freischaltung durch einen Provider beispielsweise beim Installieren großer Anwendungen wie Typo3 & Co., dann ist meistens die Speicherfreigabe daran Schuld. Das erkennt man auch an der Fehlermeldung, die vom mangelnden Speicher erzählt.
Also muss die php.ini gesucht und mit einem Editor, in Linux vi oder ähnliche Programme, geöffnet werden. Dann wird die Zeile mit dem memory_limit gesucht und entsprechend angepasst. Wenn 128M als Grundeinstellung gespeichert ist, darf es mit dem Speicherplatz normalerweise keine Probleme geben. Sind aber nur 8M vorgesehen, dann sind die Fehlermeldungen keine Überraschung.
Und hier gleich ein Tipp, woran man als Anfänger scheitern kann: Die Einstellung lautet 8M und nicht 8MB. Wer aus der gewohnten Schreibweise heraus das B anschließt, produziert Probleme größten Ausmaßes. Immer M für Megabyte schreiben, zum Beispiel memory_limit = 32M