Is it possible to extend user's session expiration time in CI. What I want to do is, by default every user's session cookie lasts for example 1 day, but every time user visits the site his session expiration time is extended by one more day.
I don't know if it is a good idea to do this, maybe I should just set cookies life time for like a week and that's it?
Default session time in codeigniter is
$sess_expiration = 7200; // This is 2 hours
Also you can set $sess_expiration = 0;
This means you are setting session for forever.
Actually I could see in codeigniter library Session.php
// Set the session length. If the session expiration is
// set to zero we'll set the expiration two years from now.
if ($this->sess_expiration == 0)
{
$this->sess_expiration = (60*60*24*365*2);
}
I believe what you want is actually the default behavior. Take a look at sess_read() and sess_update() in /system/libraries/Session.php
last_activity for an active session is updated every five minutes.
Session expiration is checked with last_activity + sess_expiration < now
So, for the behavior you want, just set your sess_expiration time to 86400 (one day), and you should be all set.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With