Skip to main content

Keep php session from expiring when browser is quit



I'm working with a PHP session. It's working nicely, except if I quit my browser and then return to the webpage, the session has expired. How can I prevent this/set an expiration time for the session?




Comments

  1. You can change the configuration of session.cookie_lifetime so that the browser doesn't just throw your session's cookie away when it's closed (you just give it a number of seconds, and it sets the expiration date)...

    // assuming you can't change your php.ini file
    ini_set('session.cookie_lifetime', 3600); // one hour


    ...But how long do you want the session to remain viable? Because another configuration setting you'd need to worry about is session.gc_maxlifetime, which sets (again, in seconds) how long session data is allowed to exist (unchanged, I believe?) before it is considered garbage.

    The default for session.gc_maxlifetime is 1,440 seconds, or about 24 minutes.

    ReplyDelete
  2. Consider the security risks mentioned. to extend the session lifetime,
    you can set the lifetime of the session cookie before starting the session as follows.

    $lifetime=60*60*24*14; //2 weeks in seconds. you can change the time as you wish
    session_set_cookie_params($lifetime, '/');
    session_start();

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?