Enquanto trabalhávamos com COOKIES, aprendemos a definir quanto tempo aquele COOKIE seria válido.
Podemos fazer o mesmo com SESSION? Se sim, como ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Enquanto trabalhávamos com COOKIES, aprendemos a definir quanto tempo aquele COOKIE seria válido.
Podemos fazer o mesmo com SESSION? Se sim, como ?
Henrique, você pode fazer algo mais ou menos assim:
if (!isset($_SESSION['MINHA_SESSAO'])) {
$_SESSION['MINHA_SESSAO'] = time();
} else if (time() - $_SESSION['MINHA_SESSAO'] > 1800) { // sessão iniciada há mais de 30 minutos
session_regenerate_id(true); // muda o ID da sessão para o ID corrente e invalidar o ID antigo
$_SESSION['MINHA_SESSAO'] = time(); // atualiza o tempo de criação da sessão
}
Se você quer alterar o tempo padrão da sessão no PHP, você pode editar o arquivo php.ini, localizado dentro da pasta onde está instalado o PHP, e alterar a propriedade session.gc-maxlifetime
https://secure.php.net/manual/pt_BR/session.configuration.php#ini.session.gc-maxlifetime
Você também pode alterar esta configuração dentro de seus arquivos PHP
<?php
// Tempo em segundos - 1 hora
ini_set('session.gc_maxlifetime', 3600);
// Tempo em segundos - 1 hora
session_set_cookie_params(3600);
?>
Caso o seu servidor hospede vários sites, você pode, na raiz do site, criar o seu próprio php.ini, apenas com os comandos que deseja alterar