phpbar.de logo

Mailinglisten-Archive

[php] memory_limit

[php] memory_limit

Ringo Großer swek at gmx.net
Die Dez 9 10:22:19 CET 2003


hallo Gerd,

Gerd Terlutter wrote:
> wenn's auf deiner M$ Maschine nicht läuft und dein Provider *nix hat,
> dann solltest du vieleicht auf *nix entwickeln? *fg* Hast du

nee, mein provider durfte nur zum testen (eingrenzen des problemes)
herhalten. das endergebnis sollte aufgrund seiner scheinbar extremen
anforderungen zeitweilig nur auf meinem lokalen server laufen.

> max_execution_time hoch gesetzt oder auf 0?

an der liegt es mit hoher warscheinlichkeit nicht.

> memory_limit = xxM für
> ini_set, Doku : Bachten Sie, dass Sie den Wert auf -1 setzen müssen,
> wenn Sie kein Speicherlimit wünschen.

das mit dem -1 könnt ich ja beim provider nochmal probieren...
hmm, nö. er bricht wieder nur ab bei dem betreffenden etwas größeren file.
aus welcher doku hast du das denn?
unter http://de3.php.net/manual/en/function.ini-set.php find ich nichts
darüber, oder hab ich es übersehen?

> Wie ist dein error_reporting eingestellt, E_ALL & ~E_NOTICE?
> display_errors ist warscheinlich on.

die üblichen notices und fehlermeldungen seh ich doch. in dem
fall aber keine, also muss es was scherwiegenderes/anderes sein.

> Wenn du in Schleifen iterierst,
> dann mach doch mal ein paar echo memory_get_usage() und/oder flush()
> um den Speicher explizit zu leeren bzw. zu ermitteln.

das memory_get_usage hatte ich im laufe meiner nächtlichen ermittlungen
gefunden. das gibts aber erst ab 4.3.2 und deshalb hatte ich bei mir
heut nacht spontan von 4.3.1 auf 4.3.4 upgraded. allerdings wird es
sich damit unter windows wie dem memory_limit verhalten.
ohne  --enable-memory-limit gibts die function scheinbar
nicht. jedenfalls kennt sie mein php unter windows auch nicht.
und beim provider läuft eh noch 4.3.1

das flush hilft mir auch nicht weiter, das es ja nicht um eine ausgabe
an den browser geht, sondern ich die ganzen daten gleich in ein
file schreibe. vorher hatte ich erst noch ein array aufgebaut, was ich
dann komplett weggeschrieben habe. nun verzichte ich ja schon darauf,
um den speicher zu schonen und schreib die gefunden daten gleich
direkt weg ohne sie erst bis zum ende des loops zu lagern.
ist aber wohl trotzdem noch zu heftig für 8mb.

> disable_funtions in der php.ini?

bei mir lokal nix. wär ich ja schön blöd ;)
und der provider verbietet auch nichts, hab grad nachgesehn.

ich seh mal was mein windows nach dem reboot zu memory_get_usage
sagt. denke aber mal, dass meine obige vermutung schon richtig war.

ich könnte das script mal jemandem zum test zur verfügung stellen, der
über ein höheres memory_limit verfügen darf. wenns da klappt, dann
hab ich wenigstens erstmal den schuldigen gefunden.

trotzdem danke auch an dich.

regards, Ringo



php::bar PHP Wiki   -   Listenarchive