Definir tempo vida de uma Sessão em PHP
01/09/2021
0
Defini o tempo de 1 minuto e fiz diversos testes pra ver se funciona:
#Teste 1 - Setei o cache para 1 minuto session_cache_expire(1); session_start();
#Teste 2 - Setei o Lifetime do cookie para 60 segundos define("LIFETIME", 60); session_set_cookie_params(LIFETIME); session_start();
#Teste 3 - Setei diretamente no php.ini o maxlifetime e o cookie para 60 segundos session.gc_maxlifetime = 60 session.cookie_lifetime = 60
Nada deu certo até agora, alguém poderia me ajudar por favor?
Isabela
Post mais votado
01/09/2021
O tempo em minutos é calculado em segundo, ou seja, para cada 01min equivale a 60seg.
Então para definir um tempo limite nas sessões, use um registro de data e hora pra indicar a hora da última atividade / solicitação:
if(isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) { //A última solicitação foi há mais de 30 minutos session_unset(); //Variável para o tempo de execução session_destroy(); //Destruir os dados da sessão no armazenamento } //Atualizar o registro de data e hora da última atividade $_SESSION['LAST_ACTIVITY'] = time();
Vale ressaltar que session.gc_maxlifetime e session.cookie_lifetime não são confiáveis.
Espero que te ajude e que funcione kk abraços...
Yuri Aguiar
Mais Posts
01/09/2021
Isabela
Obrigada pela atenção ;)
Então, eu testei seu código, ele funciona apenas se eu quiser de fato testar por 1 minuto ou menos do que vem por default. Porém, eu testei em seguida com 3600, ou seja, 1 hora e a sessão foi encerrada antes deste tempo, mantendo seu tempo de vida default.
Não sei o que fazer :(
02/09/2021
Yuri Aguiar
Quando lembra que você alterou no php.ini?
#Teste 3 - Setei diretamente no php.ini o maxlifetime e o cookie para 60 segundos session.gc_maxlifetime = 60 session.cookie_lifetime = 60
Não sei se você tentou alterar aumentando o tempo no arquivo.
Caso não tenha configurado, pode ser que ele esteja limitando no sua aplicação local.
04/10/2021
Isabela
Ainda não resolvi esse troço =/
Então, eu já fiz de tudoooooo...
Já configurei o php.ini, já configurei o servidor (hostgator), já fiz aquelas configurações acima e NADA!
Tudo que eu preciso é aumentar o tempo de sessão da minha aplicação. Eu preciso que ela fique ativa (logada) por 24 horas.
05/10/2021
Yuri Aguiar
Então... para qual finalidade você precisa realizar isso?
Clique aqui para fazer login e interagir na Comunidade :)