2009-11-14 19 views

Respuesta

47

Sí, hay here es un buen artículo que describe sus peligros. En PHP> 5.3.0, también está la función gc_enable.

+5

Una gotcha no incluida en ese artículo es funciones anónimas, creadas con create_function(). [Estos no están sujetos a la recolección de basura.] (Http://www.php.net/manual/en/function.create-function.php#70691) –

+0

@Dave Lancea Buena observación. Sin embargo, solo señalaría que su enlace apunta a un comentario hecho en 2007, por lo que tal vez ya no sea así en 2017 (pero tal vez lo sea, no pude encontrar más información sobre el tema). –

3

Sí. También hay una limpieza de sesión realizada por el recolector de basura.

5

PHP tiene una combinación de recolección de basura y recuento de referencias. Este último es el modo principal de administrar la memoria, con el recolector de basura recogiendo las piezas que el contador de referencias falla (referencias circulares). Antes de 5.3, php solo tenía recuento de ref e, incluso en 5.3, es la forma en que normalmente se libera la memoria.

1

Desde 5.3.0 puede forzar la recolección de basura utilizando gc_collect_cycles function.