Avatar ·

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?