Hi,

I've just managed to pin down a strange intermittent bug that I thought was
due to some peculiarity in my php application.

It's actually a problem with sessions.  I have this code:

if (!session_is_registered("profile"))
{
   $profile = array();
   $profile_times = array();
   $datacache = array();
   $datacache_times = array();
   session_register("profile", "profile_times", "datacache",
"datacache_times");
}

The idea is that on the first run, "profile" is not registered and that
causes all the others to become registered.

It works just fine.

After a long period of time (keeping the same browser and thus session open
all day) I found that the contents of $datacache_times are unset, and are
in fact no longer registered in the session! (verified by looking at the
session data and by debugging with session_is_registered).

None of the code anyway unregisters things from the session, and the other
stuff is all there.

Any ideas why this might be happening?  Why only that variable?

I use
 unset($datacache[$key]);
 unset($datacache_times[$key]);
to periodically to trim aging data from the session.
Could this be causing it? I do the same thing on the $profile and
$profile_times arrays, but they are still present in the data.

The session data is stored in a mysql DB.

Have I missed something obvious?

--Wez.


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to