ID: 13841 Updated by: sniper Reported By: [EMAIL PROTECTED] Old Status: Open Status: Bogus Bug Type: Session related Operating System: Red Hat 6.1 PHP Version: 4.0.6 New Comment:
I can't see the difference, but if it works, fine. --Jani Previous Comments: ------------------------------------------------------------------------ [2001-10-29 15:51:58] [EMAIL PROTECTED] YOU CAN MARK AS SOLVED OR BOGUS (or use this as some way to improve the system?) My sessions are fixed. I compaired the two php.ini files from the server that works and the server that didn't work. Here's the two. notice the one difference (trans-id). Working server: [Session] session.save_handler = files ; handler used to store/retrieve data session.save_path = /tmp ; argument passed to save_handler ; in the case of files, this is the ; path where data files are stored session.use_cookies = 1 ; whether to use cookies session.name = PHPSESSID ; name of the session ; is used as cookie name session.auto_start = 0 ; initialize session on request startup session.cookie_lifetime = 3600 ; lifetime in seconds of cookie ; or if 0, until browser is restarted session.cookie_path = / ; the path the cookie is valid for session.cookie_domain = ; the domain the cookie is valid for session.serialize_handler = php ; handler used to serialize data ; php is the standard serializer of PHP session.gc_probability = 1 ; percentual probability that the ; 'garbage collection' process is started ; on every session initialization session.gc_maxlifetime = 1440 ; after this number of seconds, stored ; data will be seen as 'garbage' and ; cleaned up by the gc process session.referer_check = ; check HTTP Referer to invalidate ; externally stored URLs containing ids session.entropy_length = 0 ; how many bytes to read from the file session.entropy_file = ; specified here to create the session id ; session.entropy_length = 16 ; session.entropy_file = /dev/urandom session.cache_limiter = nocache ; set to {nocache,private,public} to ; determine HTTP caching aspects session.cache_expire = 180 ; document expires after n minutes -------------------- Non-working Server: [Session] session.save_handler = files ; handler used to store/retrieve data session.save_path = /tmp ; argument passed to save_handler ; in the case of files, this is the ; path where data files are stored session.use_cookies = 1 ; whether to use cookies session.name = PHPSESSID ; name of the session ; is used as cookie name session.auto_start = 0 ; initialize session on request startup session.cookie_lifetime = 0 ; lifetime in seconds of cookie ; or if 0, until browser is restarted session.use_trans_sid = 1 session.cookie_path = / ; the path the cookie is valid for session.cookie_domain = ; the domain the cookie is valid for session.serialize_handler = php ; handler used to serialize data ; php is the standard serializer of PHP session.gc_probability = 1 ; percentual probability that the ; 'garbage collection' process is started ; on every session initialization session.gc_maxlifetime = 1440 ; after this number of seconds, stored ; data will be seen as 'garbage' and ; cleaned up by the gc process session.referer_check = 0 ; check HTTP Referer to invalidate ; externally stored URLs containing ids session.entropy_length = 0 ; how many bytes to read from the file session.entropy_file = ; specified here to create the session id ; session.entropy_length = 16 ; session.entropy_file = /dev/urandom session.cache_limiter = nocache ; set to {nocache,private,public} to ; determine HTTP caching aspects session.cache_expire = 180 ; document expires after n minutes ------------------ I copied over the config and now it's working fine. ------------------------------------------------------------------------ [2001-10-29 11:09:26] [EMAIL PROTECTED] I have two servers setup exactly the same (for the most part.) I don't know much about linux and this other company put it together but both installations have the same version of Red Hat on it and I use the same exact commands to install apache/PHP on both servers. This second server processes and works with Sessions perfectly fine. NO hitches. The problem is that the server is password protected so I cannot give access to my tests.I'll see if I can get a non-protected virtual server on there for you to see. It's got to be a server installation thing, I think. What could be some issues with an OS installation which could cause this problem? ------------------------------------------------------------------------ [2001-10-26 17:43:49] [EMAIL PROTECTED] I am making a desperate cry. I seem to be the only one on the face of the planet who has this problem. Whenever I post to the PHP-general group the discussion goes on and then ends up with someone writing me saying, "gee man, I don't know". I put in a bug report about this back at php 4.0.1pl2 and it was concluded that I was using the POST value instead of GET in the form. That bug is this: http://bugs.php.net/bug.php?id=5360 Now, in PHP 4.0.6 it still plagues me and there's a program I need to run on my server and it won't run because of my session problem. Okay, so this is the deal in a nutshell. With each subsequent call to 'session_start()' instead of picking up the existing session, it creates a new PHPID. This happens whether I have the sessionID in a cookie or passed via a variable (VIA THE QUERYSTRING). I have included code for two files that I use as a demonstration so you can check the code, and I can send you to a website where you can see it in action.. Code: filename: index.php ---------- <? error_reporting(E_ALL); session_start(); $var1 = "My var 1"; $var2 = "My var 2"; session_register("var1"); session_register("var2"); ?><HTML> <HEAD> <TITLE>Session Page 1</TITLE> </HEAD> <BODY BGCOLOR=#FFFFFF> PHPSESSID: <? echo session_id(); ?><BR> Var1: <? echo $var1; ?><BR> Var2: <? echo $var2; ?><BR> <FORM ACTION="index2.php" METHOD="POST"> Passing sessid: <INPUT TYPE=TEXT VALUE="<? echo session_id(); ?>" SIZE=40 NAME="PHPSESSID"><BR> VAR 3: <INPUT TYPE=TEXT VALUE="My Var 3" NAME="myvar3"> <INPUT TYPE=SUBMIT VALUE="go"><BR> </FORM> <BR> <A HREF="index2.php?<?=SID?>">Try this link</A> </BODY> </HTML> ---------- filename: index2.php ---------- <? error_reporting(E_ALL); session_start(); // start session session_register("var3"); // register var 3 session variable $var3 = $myvar3; ?><HTML> <HEAD> <TITLE>Session Page 2</TITLE> </HEAD> <BODY BGCOLOR=#FFFFFF> PHPSESSID: <? echo session_id(); ?><BR> Var1: <? echo $var1; ?><BR> Var2: <? echo $var2; ?><BR> VAR3: <? echo $var3; ?><BR> </BODY> </HTML> ---------- in action: http://www.fromtheduke.com/session/index.php I have noticed with other pages that I have tried this on this same server that the session_start() will create a new session ID three times, on the third one, it 'sticks' and stays with me the rest of the time. here is my php.ini file which shows my session variable options: ------------ [Session] session.save_handler = files ; handler used to store/retrieve data session.save_path = /tmp ; argument passed to save_handler ; in the case of files, this is the ; path where data files are stored session.use_cookies = 1 ; whether to use cookies session.name = PHPSESSID ; name of the session ; is used as cookie name session.auto_start = 0 ; initialize session on request startup session.cookie_lifetime = 0 ; lifetime in seconds of cookie ; or if 0, until browser is restarted session.use_trans_sid = 1 session.cookie_path = / ; the path the cookie is valid for session.cookie_domain = ; the domain the cookie is valid for session.serialize_handler = php ; handler used to serialize data ; php is the standard serializer of PHP session.gc_probability = 1 ; percentual probability that the ; 'garbage collection' process is started ; on every session initialization session.gc_maxlifetime = 1440 ; after this number of seconds, stored ; data will be seen as 'garbage' and ; cleaned up by the gc process session.referer_check = 0 ; check HTTP Referer to invalidate ; externally stored URLs containing ids session.entropy_length = 0 ; how many bytes to read from the file session.entropy_file = ; specified here to create the session id ; session.entropy_length = 16 ; session.entropy_file = /dev/urandom session.cache_limiter = nocache ; set to {nocache,private,public} to ; determine HTTP caching aspects session.cache_expire = 180 ; document expires after n minutes ------------ I am at my wit's end. I NEED HELP. Please please help me oh PHP programming gods. I have no where else to turn. This problem happens with Macintosh and Windows Browsers, Netscape or internet Explorer, it doesn't matter. My server info: http://stjohn.neweve.com/phpinfo.phtml I'm happy to give help to anyone that will work with me. ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=13841&edit=1 -- 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]