Enquanto trabalhávamos com COOKIES, aprendemos a definir quanto tempo aquele COOKIE seria válido.
Podemos fazer o mesmo com SESSION? Se sim, como ?
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