ID:               25934
 User updated by:  php at webfreezer dot com
 Reported By:      php at webfreezer dot com
-Status:           Feedback
+Status:           Open
 Bug Type:         Session related
 Operating System: SuSe Linux 8.1
 PHP Version:      4.3.3
 New Comment:

This is an excerpt of ini_get_all vardumpīed:

 [session.auto_start] array(3) => {
    [global_value] string(1) => "0"
    [local_value] string(1) => "0"
    [access] int(7) => 
  }
  [session.bug_compat_42] array(3) => {
    [global_value] string(1) => "1"
    [local_value] string(1) => "1"
    [access] int(7) => 
  }
  [session.bug_compat_warn] array(3) => {
    [global_value] string(1) => "1"
    [local_value] string(1) => "1"
    [access] int(7) => 
  }
  [session.cache_expire] array(3) => {
    [global_value] string(2) => "60"
    [local_value] string(3) => "180"
    [access] int(7) => 
  }
  [session.cache_limiter] array(3) => {
    [global_value] string(7) => "nocache"
    [local_value] string(7) => "nocache"
    [access] int(7) => 
  }
  [session.cookie_domain] array(3) => {
    [global_value] string(0) => ""
    [local_value] string(0) => ""
    [access] int(7) => 
  }
  [session.cookie_lifetime] array(3) => {
    [global_value] string(1) => "0"
    [local_value] string(1) => "0"
    [access] int(7) => 
  }
  [session.cookie_path] array(3) => {
    [global_value] string(1) => "/"
    [local_value] string(1) => "/"
    [access] int(7) => 
  }
  [session.cookie_secure] array(3) => {
    [global_value] string(0) => ""
    [local_value] string(0) => ""
    [access] int(7) => 
  }
  [session.entropy_file] array(3) => {
    [global_value] string(0) => ""
    [local_value] string(0) => ""
    [access] int(7) => 
  }
  [session.entropy_length] array(3) => {
    [global_value] string(1) => "0"
    [local_value] string(1) => "0"
    [access] int(7) => 
  }
  [session.gc_divisor] array(3) => {
    [global_value] string(3) => "100"
    [local_value] string(3) => "100"
    [access] int(7) => 
  }
  [session.gc_maxlifetime] array(3) => {
    [global_value] string(4) => "1440"
    [local_value] string(4) => "1440"
    [access] int(7) => 
  }
  [session.gc_probability] array(3) => {
    [global_value] string(1) => "1"
    [local_value] string(1) => "1"
    [access] int(7) => 
  }
  [session.name] array(3) => {
    [global_value] string(9) => "PHPSESSID"
    [local_value] string(9) => "sessionID"
    [access] int(7) => 
  }
  [session.referer_check] array(3) => {
    [global_value] string(0) => ""
    [local_value] string(1) => "0"
    [access] int(7) => 
  }
  [session.save_handler] array(3) => {
    [global_value] string(5) => "files"
    [local_value] string(5) => "files"
    [access] int(7) => 
  }
  [session.save_path] array(3) => {
    [global_value] string(4) => "/tmp"
    [local_value] string(44) => "/var/www/DOMAINNAME/temp/sessions"
    [access] int(7) => 
  }
  [session.serialize_handler] array(3) => {
    [global_value] string(3) => "php"
    [local_value] string(3) => "php"
    [access] int(7) => 
  }
  [session.use_cookies] array(3) => {
    [global_value] string(1) => "1"
    [local_value] string(1) => "0"
    [access] int(7) => 
  }
  [session.use_only_cookies] array(3) => {
    [global_value] string(1) => "0"
    [local_value] string(1) => "0"
    [access] int(7) => 
  }
  [session.use_trans_sid] array(3) => {
    [global_value] string(1) => "0"
    [local_value] string(1) => "0"
    [access] int(6) => 
  }


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

[2003-10-29 19:58:00] [EMAIL PROTECTED]

Could you please show all your session related INI values after any
ini_set() or session_set_cookie_params() that your script normally
makes.

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

[2003-10-22 06:01:14] php at webfreezer dot com

Sorry, ini_set("session.name", "sessionID") is called before, NOT
ini_set("session-name"...

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

[2003-10-22 05:59:38] php at webfreezer dot com

I donīt access the sessionID in the scripts directly via any $_GET or
$_POST. I only use PHPīs session_id() and session_name() functions
throughout the scripts.

After testing the current PHP snap there has been no change in the
behavior so I changed the version back to 4.3.3.

However I tried something different.
I appended &PHPSESSID={SESSIONID} to the URL so that it now looks like
"file.php?sessionID={SESSIONID}&PHPSESSID={SESSIONID}" when such a
session "loss" occured and it works!
As I stated before the session file exists and contains the correct
data so the session is kind of restored that way.

ini_get("session.name") however correctly returns "sessionID" on the
same page and ini_set("session-name", "sessionID") is of course called
prior to session_start().

So it seems as if PHP does not always correctly use the settings and
falls back to standard values.
Might ini_set values also be "remembered" by Apache processes as stated
in bug bug #25753?

I donīt know why it didnīt work some time ago when changing the session
name to PHPSESSID did not work, but since then the code has been
changed since then that might have been another problem.

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

[2003-10-22 04:49:53] [EMAIL PROTECTED]

Are you accessing the session ID via globals or do you use $_GET, etc.?
This might be same issue as bug #25753 is about.


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

[2003-10-21 08:37:47] php at webfreezer dot com

Description:
------------
PHP sometimes does not want to use the sessionID given via GET! This
happens only on some occasions however it is reproducible on such a
certain page. I regret that I cannot post a short code snippet because
it simply does not happen when testing with a short code snippet.

What happens is the following:
- the SID is used as a GET parameter (this works on every other page!)
- $sidname=session_name(); echo $_GET[$sidname] outputs the correct SID
visible in the URL (e.g.
"/search.php?page=2&qid=1&sessionID=1291bfd78301f151803ca632cd41f626")
- however echo session_id() outputs a totally different SID!
- both (old and new) SID files exist and are readable

session.auto_start=0
session.use_cookies=0
session.use_only_cookies=0
session.referer_check=0

I even implemented my own session handler and it appears that PHP does
not even call the OPEN function for the "old" SID that it no longer
wants to use.

I also tried to use the generic PHPSESSID name instead of the custom
"sessionID" by not setting the custom name, but the problem still
exists.

This is my configure line:

'./configure' '--with-apache=../apache_1.3.28'
'--with-mhash=/usr/local/lib' '--with-zlib-dir=/usr/local/lib'
'--with-zip=/usr/local/lib' '--enable-memory-limit'
'--enable-versioning' '--with-gd' '--enable-exif'
'--with-config-file-path=/etc' '--enable-magic-quotes'
'--enable-thread-safety' '--with-gettext' '--with-xml' '--with-mcrypt'
'--enable-calendar' '--enable-bcmath' '--with-curl'
'--with-curlwrappers' '--enable-ftp' '--enable-wddx'
'--with-jpeg-dir=/usr/lib' 



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


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

Reply via email to