Konečně jsem mohl najít řešení. Zjistil jsem, že když se odpadky sbírky PHP zaplňují, neexistuje způsob, jak je uvolnit. Unset
a gc_collect_cycles()
také nejsou účinné. Jediný způsob je použít Function
přes různé části kódů. V mém případě jsem měl velký skript ve smyčce for, takže jsem zkopíroval všechny své kódy do funkce a ve smyčce jsem funkci zavolal. Pokaždé, když se funkce ztiší, uvolní se paměť. Můžete to otestovat přidáním memory_get_usage()
jednou ve vaší funkci a jednou mimo funkci, abyste viděli rozdíl.