memory_limit in PHP – Man lernt nie aus

Für PHP und Skriptsprachen im Allgemeinen gelten im Regelfall Beschränkungen was die maximale Zeit für die Ausführung eines Skriptes und den allokierbaren Speicher betreffen.

Beispielsweise kann über die PHP.INI auf einem Webserver der Eintrag des memory_limit gesetzt werden. Beispielsweise bedeutet memory_limit = „20M“, dass PHP für das Skript 20 MB des RAM des Servers zur Verfügung stellt. (Der Wert ist rein fiktiv und dient hier nur zur Verdeutlichung.) Da PHP selbst aber auch etwas RAM benötigt und aus technischen Gründen nie das volle Limit zur Verfügung stellen kann, kann ein Skript laut PHP die 20 MB schon erreicht haben, obwohl es „real“ nur ca. 19 MB waren. Klingt eigentlich soweit logisch. 😉

Dadurch erreicht man aber immer etwas früher das gesetzte Limit, was vielleicht bei einem umfassenden Importskript zum Abbruch führt, weil die entscheidenden letzten 100 KB fehlen.

Viele Webhosting-Anbieter begrenzen in Ihren Shared-Hosting Tarifen auch den RAM. Es ist daher bei einem Tarif, der 20 MB RAM zur Verfügung stellt evtl. sinnvoll, per PHP.INI nicht diese 20 MB zu verwenden, sondern, aus oben genanntem Verhalten, einfach 25 MB zu setzen, damit PHP wirklich das Maximum, das der Webhosting-Anbieter zur Verfügung stellt, ausnutzen kann.
Zu beachten ist hierbei, dass PHP in Bytes rechnet und die beispielhaften 20 MB daher 20.480 KB bzw. 20.971.520 Bytes entsprechen. Nutzt der Anbieter für seine Limitangabe aber eine andere Umrechnung wie z.B. mit 1.000, dann stehen auch nur 20.000 KB bzw. 20.000.000 Bytes zur Verfügung.

Da das memory_limit mit integer-Werten arbeitet, ist es auch möglich, kein Limit zu verwenden (seit PHP 5.1): memory_limit = „-1“
Dies ist jedoch nicht unbedingt zu empfehlen, denn sollten Sie einmal einen Tarif wechseln oder auf einen anderen Anbieter/Server umziehen und das Skript ist nicht sauber programmiert, so können schnelle mehrere Hundert MB oder gar GB dadurch belegt werden.

Vielleicht hilft der Hinweis, das memory_limit für PHP – trotz Beschränkung seitens des Hosting-Anbieters – etwas höher zu setzen, dem einen oder anderen Anwender, der damit den Tarifwechsel in einen höheren Tarif bei seinem Hosting-Anbieter etwas hinauszögern kann. Ob diese mich dafür jetzt weniger mögen hassen?


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Datenschutz-Übersicht
GuntiaHoster - Blog

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie die Wiedererkennung von dir, wenn du auf unsere Website zurückkehrst. Cookies helfen unserem Team zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.

Erforderliche Cookies

Unbedingt notwendige Cookies für wesentliche Funktionen zur Sicherstellung der Servicekontinuität und Standortsicherheit, sowie zur Speicherung deiner Auswahl für die Cookie-Einstellung.

Analyse-Cookies

Diese Website verwendet WordPress.com-Stats von Quantcast Inc., um Informationen wie die Anzahl der Besucher der Website und die beliebtesten Seiten zu sammeln.

Diesen Cookie aktiviert zu lassen, hilft uns dabei, unsere Produkte, Dienstleistungen und das Benutzererlebnis zu verbessern.

Zusätzliche Cookies

Diese Website verwendet die folgenden zusätzlichen Cookies:

- VG Wort (Session-Cookie)

Dieses Cookie hilft, die Vergütung von gesetzlichen Ansprüchen von Autoren und Verlagen zu ermitteln und hilft, eine rechtmäßige Vergütung sicherzustellen.