Endelig kunne jeg finde løsningen. Jeg fandt ud af, at når PHP-indsamlingsaffaldet er ved at blive fyldt, er der ingen måde at frigøre det på. Unset
og gc_collect_cycles()
er heller ikke effektive. Den eneste måde er at bruge Function
over forskellige sektioner af koder. I mit tilfælde havde jeg et stort script i en for loop, så jeg kopierede alle mine koder i en funktion, og i min loop kalder jeg funktionen. Hver gang funktionen bliver stille, bliver hukommelsen fri. Du kan teste det ved at tilføje memory_get_usage()
én gang i din funktion og én gang ude af funktionen for at se forskellen.