PHP Speicher freigeben

flaschenkind

Well-known member
ID: 118459
L
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)
 
Hi,

hab mal pauschal das hier gefunden. Betrifft zwar nicht explizit dompdf, aber vielleicht hilft der Ansatz weiter.

Wie schaut es mit anderen PDF-Libs aus? Ich hatte in der Vergangenheit FPDF genutzt und bin auch nie auf Speicherprobleme gestoßen, allerdings war es nur "thread2pdf" für ein Forum.

Gruß
 
hab mal pauschal das hier gefunden. Betrifft zwar nicht explizit dompdf, aber vielleicht hilft der Ansatz weiter.
Danke, werde es mir mal ansehen.

Wie schaut es mit anderen PDF-Libs aus? Ich hatte in der Vergangenheit FPDF genutzt und bin auch nie auf Speicherprobleme gestoßen, allerdings war es nur "thread2pdf" für ein Forum.
dompdf konvertiert HTML-Code in eine PFD. So sind wir halt deutlich flexibler, da sich die Inhalte teilweise doch deutlich unterscheiden.
Sollte alles nicht helfen, müssten wir mal über einen Wechsel nachdenken.
 

Geil. So wie es ausschaut, sind die Methoden genauso benannt wie bei FPDF. Dürfte einen Austausch ja recht einfach gestalten...
Kann ich mein HTML-Gemurkse ja endlich droppen...wenn es funktioniert :D

Edit: *vorhaben streich*
26k Zeilen Code sind für meine Fälle doch etwas zu heavy. Ich bleib bei FPDF und optimiere da lieber noch ein wenig herum :)
 
Zuletzt bearbeitet: