ini_set ("memory_limit") in PHP 5.3.3 funktioniert überhaupt nicht
Hatte ich diese Arbeit vor :
echo ini_get("memory_limit")."\n";
ini_set("memory_limit","256M");
echo ini_get("memory_limit")."\n";
Wäre input :
32M
256M
auf ein php-Skript ausgeführt durch Befehl Linie.
Ich Update von 5.2 auf 5.3 und von jetzt, von dieser Richtlinie überhaupt nicht : das gibt mir :
32M
32M
und dann mein script schlägt mit einem schwerwiegenden Fehler...
Ich habe in der php-Dokumentation, und es gegoogelt und ich finde nicht überall, wo "memory_limit" schon veraltet.
Hat jemand eine Lösung?
InformationsquelleAutor der Frage Ant | 2011-02-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wahrscheinlich Ihre sushosin aktualisiert werden, in denen die Standardeinstellung geändert von suhosin.memory_limit von deaktiviert auf 0 (was nicht erlauben, alle updates für memory_limit).
Auf Debian, ändern Sie /etc/php5/conf.d/suhosin.ini
zu
Oder welchen Wert Sie sind komfortabel mit. Finden Sie das changelog Sushosin bei http://www.hardened-php.net/hphp/changelog.htmldie sagt:
InformationsquelleAutor der Antwort Wouter van Eekelen
Wenn Sie die suhosin-extension aktiviert, es kann verhindern, dass Skripte, die von der Einstellung der memory limit über das hinaus, was es mit gestartet oder eine bestimmte Mütze.
http://www.hardened-php.net/suhosin/configuration.html#suhosin.memory_limit
InformationsquelleAutor der Antwort Oscar M.
Hier ist eine Liste von Dingen, die einen Besuch Wert sind:
Ist Suhosin installiert?
ini_set
ini_set('memory_limit', '512'); //DIDN'T WORK
ini_set('memory_limit', '512MB'); //DIDN'T WORK
ini_set('memory_limit', '512M'); //OK - 512MB
ini_set('memory_limit', 512000000); //OK - 512MB
http://php.net/manual/en/ini.core.php#ini.memory-limit
http://php.net/manual/en/configuration.changes.php
InformationsquelleAutor der Antwort Carlton
Funktioniert bei mir, hat nichts zu tun mit PHP 5.3. Wie viele solcher Möglichkeiten, es kann nicht überschrieben werden, über
ini_set()
wenn safe_mode aktiviert ist. Überprüfen Sie Ihre aktualisiertenphp.ini
(und noch besser: ändern Sie den memory_limit auch dort).InformationsquelleAutor der Antwort mario
Ubuntu 10.04 kommt mit dem Suhosin-patch nur die, die nicht geben Sie die Konfigurations-Optionen. Aber Sie können installieren Sie php5-suhosin um dieses Problem zu lösen:
Nun Bearbeiten Sie /etc/php5/conf.d/suhosin.ini und Satz:
Dann mit ini_set funktioniert in einem script:
InformationsquelleAutor der Antwort Appmerce
Machen wir einen test mit 2 Beispielen:
Das obige Beispiel nicht funktioniert, dann überschreiben Sie den memory_limit Wert.
Aber Dies funktioniert:
Müssen Sie die
ini_set('memory_limit','128M');
am Anfang der Datei oder mindestens vor jedem echo.Als für mich, suhosin war nicht die Lösung, weil es gar nicht in meiner phpinfo(), aber das funktionierte:
InformationsquelleAutor der Antwort Lechampi