web-dev-qa-db-fra.com

Existe-t-il un ramasse-miettes en PHP?

Je sais qu'en PHP vous n'avez pas à libérer de mémoire. Est-ce atteint par le garbage collector?

53
Sergey

Oui, il y a [ici] un article de Nice décrivant ses pièges. Dans PHP> 5.3.0, il y a aussi la fonction gc_enable .

50
luvieere

PHP a une combinaison de garbage collection et de comptage de références. Ce dernier est le principal mode de gestion de la mémoire, le ramasse-miettes ramassant les pièces qui manquent au compteur de références (références circulaires). Avant 5.3, php n'avait que le comptage de références, et même dans 5.3, c'est toujours la façon dont la mémoire sera généralement libérée.

7
troelskn

Oui. Un nettoyage de session est également effectué par le garbage collector.

3
Myles

depuis la version 5.3.0, il existe un support pour la récupération de place. veuillez consulter cet article très instructif de php.net http://php.net/manual/en/features.gc.php

3
Aris

Depuis 5.3.0, vous pouvez forcer le ramasse-miettes en utilisant gc_collect_cycles function.

1
W.Ed.