phpbar.de logo

Mailinglisten-Archive

[php] Wann gibt PHP belegten Speicher wieder frei?

[php] Wann gibt PHP belegten Speicher wieder frei?

Lars Brinkmann brinkmann.lars at gmail.com
Mit Apr 13 23:34:53 CEST 2005


Hallo Liste,

kann mir vielleicht sagen, wann PHP belegten Speicher wieder frei gibt?

Ich habe ein Script, welches verschiedene Grafiken öffnet, neu
skaliert und dann als neues JPG abspeichert. Ein anderes Script
erstellt ein ZIP-Archiv.

Bei beiden Scripten ist es vorgekommen, dass nach mehrmaligem Aufrufen
der Fehler:
Fatal error: Alowed memory... usw. erschienen ist.

Beim Grafik-Script habe ich den Fehler abstellen können, indem ich die
erzeugten Grafiken aus dem Speicher gelöscht habe (imagedestroy). Eine
entsprechende Funktion für das ZIP-Script habe ich jetzt noch nicht
gefunden. Ich nutze hier die pclzip-Klasse.

Ich habe nun das memory_limit von 8M auf 64M hochgesetzt. Nun kommt
der Fehler nicht mehr. Zumindest nicht, wenn ich alleine teste.

Normalerweise sollte es doch so sein, dass nach Scriptende der Prozess
den verbrauchten Speicher wieder freigibt, oder? Oder muss ich manuell
eine Garbage Collection durchführen?

Habe in der Doku noch nichts gefunden. Nur etwas für ldap und MySQL,
sowie die entsprechende Funktion aus der GD.

Viele Grüße, Lars Brinkmann

php::bar PHP Wiki   -   Listenarchive