Como encerrar uma sessão PHP após 30 minutos de inatividade do usuário?
Olá, colegas! Sou novo em PHP e estou desenvolvendo um site onde os usuários fazem login. Tenho um sistema simples de sessões: após o login, salvo os dados em `$_SESSION`. Mas percebi que a sessão não é encerrada, mesmo que o usuário feche o navegador e volte uma hora depois — ele ainda está autenticado. Preciso que a sessão expire automaticamente 30 minutos após a última ação do usuário (não desde o login, mas sim após o último clique ou requisição).
Li sobre os parâmetros `session.gc_maxlifetime` e `session.cookie_lifetime`, mas eles não funcionam como espero. Por exemplo, configurei:
```php
ini_set('session.gc_maxlifetime', 1800);
ini_set('session.cookie_lifetime', 1800);
session_start();
```
Mas isso parece afetar apenas o tempo de vida do arquivo de sessão no servidor e o cookie no navegador, e não a atividade do usuário. Se o usuário simplesmente não fechar o navegador, a sessão pode durar mais do que o necessário, porque o garbage collector não é executado imediatamente. Como implementar corretamente?