php4 -> php5 session problem
| From: | Juergen Falb | 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 = 1000session.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