PHP: Memory Limit erhöhen
Wer schon mal solch eine Fehlermeldung bekommen hat und gern wissen möchte wie man das Problem behebt, sollte sich diesen Beitrag genau durchlesen.
Die Fehlermeldung bedeutend dass PHP versucht mehr Arbeitsspeicher zu benutzten als es laut Konfiguration darf. Ich stelle im folgenden Artikel 3 Wege vor wie man dieses Limit erhöhen kann.
1. Mit der php.ini
Diese Datei ist die Hauptkonfigurationsdatei von PHP, sie liegt meist in /etc/php/php.ini, /etc/php4/php.ini, /etc/php4/php.ini und/oder auch /etc/php/apache2/php.ini
Um diese Datei zu ändern braucht man root Rechte, wenn Sie die nicht haben oder bekommen können Sie diese Methode gleich abschreiben.
Standardmäßig sollte drin stehen:
Um jetzt einen neuen Wert anzugeben ändern wir diesen Wert einfach wie gewünscht ab:
memory_limit = 32M
und nach einem Webserver neustart sollte der neue Wert übernommen werden:
Achtung!
Diese Methode ändert das Memory_Limit Global, also für jeden PHP-Prozess vom geänderten Typ (cli, cgi, mod_php) auf dem System. Wenn das nicht gewünscht ist ist eine der folgenden Methoden wohl besser geeignet.
2. Mit einer .htaccess / direkt im VHost
Das Limit lässt sich bei Verwendung des Apache2 Webserver direkt im Vhost oder der .htaccess für jedes Verzeichnis einzeln ändern.
Dazu ist folgende Anweisung nötig:
Hinweis:
Es kann sein dass Ihr Hoster diese Anweisung deaktiviert hat, in dem Fall fragen Sie diesen um eine Änderung.
3. Direkt mit PHP
Wenn die PHP-Funktion ini_set() nicht deaktiviert wurde, können Sie auch direkt im betreffenden PHP-Script den Wert ändern. Dies geht wie folgt:
Änderungen werden sofort übernommen.
Diese Methode bietet die beste Kontrolle über den Resourcenverbrauch von PHP und ist daher zu empfehlen.
Hinweis:
damit das Memory-Limit von PHP funktioniert muss PHP mit --enable-memory-limit compiliert worden sein, was aber bei allen gängigen Paketformaten der Fall sein sollte.
No related posts.







[...] man das PHP Memory Limit erhöhen. Welche Möglichkeiten funktionieren, ist abhängig vom Provider, hier klick zum nachlesen. In meinem Fall klappt die 2. Möglichkeit über die .htaccess. Sie sollte mit folgendem erweitert [...]
Vielen Dank für das Tutorial! Beim Provider Netbuild funktioniert nur die Variante php ini_set(), man kann aber den Support bitten, das Limit in der php.ini hochzudrehen.
[...] liegt. Wie man diesen Wert evtl. abändern kann, hat Julius Beckmann in seinem Beitrag “PHP: Memory Limit erhöhen” [...]
[...] Memory Limit” bekommt. Auch hier gibt es eine Lösung, schaut Euch das einfach mal bei Julius Beckmann [...]
Herzlichen Dank für dieses leicht verständliche Tut. So konnte ich nun endlich mein Problem lokalisieren und beheben. Funktioniert wunderbar.
[...] memory_limit erhöhen: entweder in der php.ini oder direkt in PHP mit dem [...]