ID:               48063
 Updated by:       scott...@php.net
 Reported By:      myselfasunder at gmail dot com
 Status:           Bogus
 Bug Type:         Session related
 Operating System: Ubuntu
 PHP Version:      5.2.9
 New Comment:

It's not that smart, it just looks through the session directory and
kills anything that looks like a session file based on the last time the
file was read and the currently lifetime value.

If there are zero other scripts on the system then it should be fine,
but I suspect there is one somewhere you are missing. Can you add this
to the php.ini file and see if you can reproduce it?

We could look to adding the session lifetime to the file but that would
break backwards compatibility and you could accidentally set a session
to 10 years from now and it would never get removed.


Previous Comments:
------------------------------------------------------------------------

[2009-04-23 21:24:24] myselfasunder at gmail dot com

Even if this is the only script that executes on the system (a
front-controller in the only application)?

How about the fact that my session-name is 'COOKIE' in this
test-script... Wouldn't only everything that uses a session-name of
COOKIE interfere with each other, in this case?

------------------------------------------------------------------------

[2009-04-23 21:02:23] scott...@php.net

You need to set it in the php.ini, if any other script uses sessions
and doesn't set it to be the same value it will delete the sessions.

------------------------------------------------------------------------

[2009-04-23 19:06:20] myselfasunder at gmail dot com

<?php

session_name('COOKIE');
session_set_cookie_params(86400 * 3);
ini_set('session.use_only_cookies', '1');
ini_set('session.gc_maxlifetime', 86400 * 3);

session_start();

if(isset($_SESSION['aa']))
        print("Session already exists.<br>");

else
        print("Session DOES NOT exist.<br>");

$_SESSION['aa'] = true;

------------------------------------------------------------------------

[2009-04-23 17:33:38] j...@php.net

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.



------------------------------------------------------------------------

[2009-04-23 16:51:26] myselfasunder at gmail dot com

Description:
------------
I have set the following:

session_name('GOLDENCOLLECTION');
session_set_cookie_params(86400 * 3);
ini_set('session.use_only_cookies', '1');
ini_set('session.gc_maxlifetime', 86400 * 3);


I can load the same page many times successfully. However, if I wait a
while, around twenty minutes, the session's members are no longer
available.

This is the first time I've used cookies to carry the SID (instead of
putting them in the URL).

I have administrative control of the system.

Reproduce code:
---------------
session_start();


Expected result:
----------------
The session should be started and all preexisting members should be
available. They -does- happen, but until only around twenty or thirty
minutes have elapsed, and then they'll be gone.

Actual result:
--------------
They'll disappear without me doing anything.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=48063&edit=1

Reply via email to