Definir tempo vida de uma Sessão em PHP
Estou tentando definir o tempo de vida das minhas sessões, mas nada do que já vi até agora deu certo.
Defini o tempo de 1 minuto e fiz diversos testes pra ver se funciona:
Nada deu certo até agora, alguém poderia me ajudar por favor?
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
Curtidas 0
Melhor post
Yuri Aguiar
01/09/2021
Fala comigo Isabela... tudo bem ?
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:
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...
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...
GOSTEI 1
Mais Respostas
Isabela
01/09/2021
Ei @Yuri Aguiar
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 :(
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 :(
GOSTEI 0
Yuri Aguiar
01/09/2021
Opa...
Quando lembra que você alterou no php.ini?
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.
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.
GOSTEI 1
Isabela
01/09/2021
Oi Yuri, desculpe a demora...
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.
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.
GOSTEI 0
Yuri Aguiar
01/09/2021
Opa, boa noite Isa! Dependendo, seria melhor e até mais fácil para você realizar o controle através do próprio banco de dados, porque essas variáveis de sessões apesar de serem consideradas seguras por conta de serem server-side, depende de como é configurado os dados armazenados nos cookies serão de fácil acesso.
Então... para qual finalidade você precisa realizar isso?
Então... para qual finalidade você precisa realizar isso?
GOSTEI 0