Enfin j'ai pu trouver la solution. J'ai trouvé que lorsque la poubelle de la collection PHP est pleine, il n'y a aucun moyen de la libérer. Unset
et gc_collect_cycles()
ne sont pas non plus efficaces. Le seul moyen est d'utiliser Function
sur différentes sections de codes. Dans mon cas, j'avais un gros script dans une boucle for, donc j'ai copié tous mes codes dans une fonction, et dans ma boucle j'appelle la fonction. Chaque fois que la fonction s'arrête, la mémoire se libère. Vous pouvez le tester en ajoutant memory_get_usage()
une fois dans votre fonction et une fois hors de la fonction pour voir la différence.