flaschenkind
Well-known member
- 20 April 2006
- 4.507
- 337
Ich verwende eine externe Library um PDF-Dateien zu erstellen (dompdf). Diese verwendet allerdings massig Speicher, der mit jedem neuen Dokument anwächst und scheinbar auch nicht freigegeben wird.
Da ich nicht anfangen möchte, diese Library zu optimieren, suche ich gerade nach einer Möglichkeit, den Speicher anders freizugeben, weiß nur nicht so richtig wie. Der Garbage Collector springt ja erst an, wenn ein Objekt nirgendwo mehr referenziert wird.
Wenn ich nun mein PDF-Objekt lösche, nützt das natürlich nicht viel, wenn intern in der Library noch einige Referenzen sind (worauf auch immer, aber der Speicher wird immer voller und irgendwann bricht das Script ab).
Ich habe das memory_limit schon bei 256M, möchte es aber auch nicht mehr weiter anheben (finde es sowieso schon zu hoch
).
Gibt es irgendwelche Möglichkeiten, z.B. so eine Art Sandbox anzulegen, die ich einfach löschen/leeren kann und dann wieder meinen Speicher frei habe? (Threads gehen leider nicht, da das ganze übers Web ausgeführt wird)
Da ich nicht anfangen möchte, diese Library zu optimieren, suche ich gerade nach einer Möglichkeit, den Speicher anders freizugeben, weiß nur nicht so richtig wie. Der Garbage Collector springt ja erst an, wenn ein Objekt nirgendwo mehr referenziert wird.
Wenn ich nun mein PDF-Objekt lösche, nützt das natürlich nicht viel, wenn intern in der Library noch einige Referenzen sind (worauf auch immer, aber der Speicher wird immer voller und irgendwann bricht das Script ab).
Ich habe das memory_limit schon bei 256M, möchte es aber auch nicht mehr weiter anheben (finde es sowieso schon zu hoch

Gibt es irgendwelche Möglichkeiten, z.B. so eine Art Sandbox anzulegen, die ich einfach löschen/leeren kann und dann wieder meinen Speicher frei habe? (Threads gehen leider nicht, da das ganze übers Web ausgeführt wird)