Como definir o tempo de vida da sessão PHP para 30 minutos e encerrá-la automaticamente?
Olá a todos! Sou novo em PHP e enfrentei um problema com o gerenciamento de sessões. Preciso que a sessão do usuário no meu site expire automaticamente após 30 minutos de inatividade. Li a documentação, mas fiquei confuso com as configurações.
Aqui está o que tentei:
```php
// No início de cada página
session_start();
// Tentei definir o tempo de vida via ini_set
ini_set('session.gc_maxlifetime', 1800);
ini_set('session.cookie_lifetime', 1800);
```
Mas isso não funciona — a sessão ainda permanece ativa mesmo após uma hora. Estou verificando o tempo da última atividade do usuário assim:
```php
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) {
session_destroy();
session_unset();
header('Location: login.php');
exit;
}
$_SESSION['LAST_ACTIVITY'] = time();
```
Mas isso faz com que o usuário seja desconectado mesmo durante o trabalho ativo, se ele não atualizar a página por muito tempo. Como implementar corretamente o timeout da sessão exatamente após 30 minutos de inatividade?