php4 -> php5 session problem

From: Date: Fri, 16 May 2008 10:40:08 +0000
Subject: php4 -> php5 session problem
Groups: php.general 
Request: Send a blank email to php-general+get-274413@lists.php.net to get a copy of this message
Dear all, since upgrading to php5 I've a problem with session handling. In php4 a user initiated a session, the session id gets afterwards handed over to a payment provider. When the payment provider calls a script with the session id added to the query string, all session data gets loaded and everything works fine. When I switch to php5 all session data gets lost and the session file has zero length afterwards. Attached is a short script to verify the behaviour: <?php session_name('XTCtest'); if (isset($_GET['sid'])) $sessid = session_id($_GET['sid']); session_start(); if (isset($_GET['set'])) $_SESSION['customer_id']=$_GET['set']; echo "<html><head><title>test</title></head><body>your customer id is " .$_SESSION['customer_id']." and session id is ".session_id()."<body></html>"; ?> calling the script from machine 1 with query string "?set=4711" returns the correct value. calling the script again from machine 1 without a query string and cookies enabled works as expected (returns 4711). calling the script from machine 2 with query string "?XTCtest=<sessionid>" or "?sid=<sessionid>" works perfectly on php4 and return 4711. On php5 session data is lost and nothing is returned. Does anybody have a clue what I miss or have to change for php5? regards, Juergen P.S: attached are the php.ini setting for php5 session.save_handler = files session.save_path = "/tmp" session.use_cookies = 1 session.use_only_cookies = 0 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.serialize_handler = php session.gc_probability = 1
session.gc_divisor     = 1000
session.gc_maxlifetime = 1440 session.bug_compat_42 = 1 session.bug_compat_warn = 1 session.referer_check = session.entropy_length = 0 session.entropy_file = session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0 session.hash_function = 0 session.hash_bits_per_character = 5

« previous php.general (#274413) next »