Akhirnya saya bisa menemukan solusinya. Saya menemukan bahwa ketika sampah koleksi PHP semakin penuh, tidak ada cara untuk membebaskannya. Unset
dan gc_collect_cycles()
juga tidak efektif. Satu-satunya cara adalah menggunakan Function
atas bagian kode yang berbeda. Dalam kasus saya, saya memiliki skrip besar dalam loop for, jadi saya menyalin semua kode saya dalam suatu fungsi, dan dalam loop saya, saya memanggil fungsi tersebut. Setiap kali fungsi diam, memori menjadi bebas. Anda dapat mengujinya dengan menambahkan memory_get_usage()
sekali di fungsi Anda dan sekali di luar fungsi untuk melihat perbedaannya.