¿Cómo finalizar una sesión de PHP después de 30 minutos de inactividad del usuario?
¡Hola, colegas! Soy nuevo en PHP y estoy desarrollando un sitio donde los usuarios inician sesión. Tengo un sistema simple de sesiones: después del login, guardo los datos en `$_SESSION`. Pero noté que la sesión no finaliza, incluso si el usuario cerró el navegador y regresó una hora después — todavía está autenticado. Necesito que la sesión expire automáticamente después de 30 minutos desde la última acción del usuario (no desde el momento del inicio de sesión, sino después del último clic o solicitud).
Leí sobre los parámetros `session.gc_maxlifetime` y `session.cookie_lifetime`, pero no funcionan como esperaba. Por ejemplo, configuré:
```php
ini_set('session.gc_maxlifetime', 1800);
ini_set('session.cookie_lifetime', 1800);
session_start();
```
Pero esto parece afectar solo el tiempo de vida del archivo de sesión en el servidor y la cookie en el navegador, no la actividad del usuario. Si el usuario simplemente no cierra el navegador, la sesión puede durar más de lo necesario, porque el garbage collector no se ejecuta de inmediato. ¿Cómo implementar correctamente?