Re: sessions terminating randomly please help

From: Date: Tue, 11 Mar 2003 01:57:19 +0000
Subject: Re: sessions terminating randomly please help
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-139068@lists.php.net to get a copy of this message
> From: "freaky deaky" <freaky_deaky@linuxmail.org> > > i am experiencing a major problem with sessions expiring randomly in some of > my > apps. i will log in and start clicking around and then i will eventually > arrive at a page that tells me that i'm not logged in anymore. this happens > apparently randomly. i have seen it on ie6, ie for mac, netscape 4.7 for pc, > and mozilla > > the apps are hosted on > > freebsd 4.7-release p2 > apache 1.3.27 > php version 4.2.3 > compiled with --enable-trans-sid > > i can't go into production if there's the possibility that users will be > randomly logged off. i went through all of my code over the weekend, and i > don't think i can attribute this to a miscoding: > > when a user logs in, i create a session with > > session_start(); > $valid_user=$_POST['username']; > session_register("valid_user"); > > i have the following code at the top of each page to check to see if the > session > is valid: > > session_start(); > $valid_user=$_SESSION['valid_user']; > global $valid_user; > if (session_is_registered("valid_user") > {...function to spit out an error message if the session is not valid...;} > > i have a logout page that destroys the session > > session_start(); > session_destroy(); > > i also have a javascript timer in the header of every page that redirects to > the > logout page if the user has been inactive for 20 minutes. > > i have played around with session.gc_probability, setting it to 100, but that > doesn't seem to have fixed the problem. > > this is a huge problem. > if anyone can give some advice, i'd really appreciate it. Is your session.save_path set to /tmp? It's my understanding that you should specify a directory for saving session data -- or use a database -- that /tmp is subject to garbage collection, and specifying a directory prevents that. I made this change to a site recently. In tests prior to the change the session would last up to about 2.5 hours with no activity. After specifying a directory with session_save_path() right before session_start(), the session was still OK after almost 4 hours of inactivity. (Not much of a controlled test, I admit.) That said, here's a disturbing fact that turned up last week -- a designer working on the same site was continually being logged off unexpectedly. After many tests he identified that the problem was Microsoft IE/Entourage. Every time he checks email he's no longer recognized as logged in (Mac OSX IE). He got Microsoft tech support to duplicate the behavior and confirm it's a problem with IE -- doesn't happen with Mozilla. So, it's important to verify the problem with more than one system, but it sounds like you have since you mention both IE6 and IE Mac! -- Lowell Allen

« previous php.general (#139068) next »