Documentación offline PHP master

session_gc

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

session_gc

Ejecuta la recolección de basura de los datos de sesión

Descripción#

session_gc(): int
```php

Por omisión, PHP utiliza [session.gc_probability](#ini.session.gc-probability) para ejecutar el recolector de basura de sesión de forma probabilística en cada solicitud. Este enfoque presenta algunas limitaciones:

Es posible que sitios con poco tráfico no eliminen sus datos de sesión dentro del plazo preferido.

Sitios con mucho tráfico pueden hacer que el recolector de basura funcione con demasiada frecuencia, realizando trabajo extra innecesario.

La recolección de basura se realiza a petición del usuario, y este puede experimentar una demora.

Para sistemas de producción, se recomienda deshabilitar la recolección de basura basada en probabilidad configurando [session.gc_probability](#ini.session.gc-probability) en `0` y activar explícitamente el recolector de basura periódicamente, por ejemplo, utilizando "cron" en sistemas tipo UNIX para ejecutar un script que llame a `session_gc`.

> [!NOTE]
> Al llamar a `session_gc` desde un script PHP de línea de comandos, [session.save_path](#ini.session.save-path) debe tener el mismo valor que las solicitudes web, y el script debe tener permisos de acceso y eliminación para los archivos de sesión. Esto puede verse afectado por el usuario con el que se ejecuta el script y por características de contenedor o aislamiento, como la opción `PrivateTmp=` de systemd.

## Parámetros

Esta función no contiene ningún parámetro.

## Valores devueltos

`session_gc` devuelve el número de datos de sesión eliminados en caso de éxito, o `false` si ocurre un error.

> [!NOTE]
> Los antiguos gestores de almacenamiento de sesiones no devuelven el número de entradas de sesión eliminadas, sino solo un indicador de éxito/fracaso. En este caso, se devuelve `1` independientemente de cuántas entradas de sesión se hayan eliminado realmente.

## Ejemplos

Ejemplo de `session_gc` para planificadores de tareas como cron
Ejemplo de `session_gc` para scripts accesibles por el usuario

```php

Véase también#

session_start

session_destroy

session.gc_probability