#18559 [Opn->Csd]: Session variables not stored when register_globals is off

From: Date: Wed, 11 Sep 2002 16:05:17 +0000
Subject: #18559 [Opn->Csd]: Session variables not stored when register_globals is off
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-19082@lists.php.net to get a copy of this message
ID: 18559 User updated by: jensen@byu.edu Reported By: jensen@byu.edu -Status: Open +Status: Closed Bug Type: Session related Operating System: Windows 2000 PHP Version: 4.2.2 New Comment: Okay, PHP Version 4.2.3 seems to fix the problem, although they don't address it in the documentation. Weird. But since I upgraded today, it's been working fine... only time will tell. Previous Comments: ------------------------------------------------------------------------ [2002-07-31 00:25:26] gharding@oktobor.com I'm having session problems all around with win2k+apache1.3.x and php4.0.6 and 4.2.2 - session handling worked fine for about 2 hrs, then just stopped. I've read lots of the session handling bugs for win2k etc. and they all have the same symtom, just stopping working and reboots and reinstalls don't fix the problem. I can't get a session to start and even exist on the next page now, whereas yesterday it worked perfectly. I've rebooted, reinstalled, read the bug reports, etc... but nothing is making it work again. Like many others, I can start a session and access the variables (only outside function calls) on the same page, but the session disappears on the next page. $HTTP_SESSION_VARS reports as length 0 in functions on the same page as the session is started... I've checked the temp session files (they store the variables ok) and the cookies from the browser with the session id - both fine. I'll keep on trying lotsa things out but I hope there's a solution out there or one coming soon. Cheers! // Greg ------------------------------------------------------------------------ [2002-07-26 03:13:00] jensen@byu.edu rverlander@php.net: Thank you, but I don't think you understood the question. I am aware that as of PHP 4.2.0 register_globals is off. The problem therein is this: According to the documentation, you should still be able to use session variables in the following manner: $_SESSION['myvar'] = "something"; or if you prefer: $HTTP_SESSION_VARS['myvar'] = "something"; In fact, the documentation states: "If track_vars is enabled and register_globals is disabled, only members of the global associative array $HTTP_SESSION_VARS can be registered as session variables. The restored session variables will only be available in the array $HTTP_SESSION_VARS." Well, that makes sense, but it sure doesn't work when I use it under PHP 4.2.2 / Apache 1.3.26 / Win2K, as illustrated in the original example. Maybe I'm just not getting something, in which case I apologize and would greatly appreciate an explanation - but only after having thoroughly examined the problem ;) Thanks again. ------------------------------------------------------------------------ [2002-07-26 01:52:08] rverlander@php.net In PHP 4.2.0, the 'register_globals' setting default changed to be off. See http://www.php.net/release_4_2_0.php for more info. We are sorry about the inconvenience, but this change was a necessary part of our efforts to make PHP scripting more secure and portable. ------------------------------------------------------------------------ [2002-07-25 14:39:25] max@ahston.se Strange. I added "php_flag register_globals on" in the .htaccess file for the programs that had the problems in 4.2.2 and squrrielmail worked again. Squrrielmail depends on this to be "on", and a major change in 4.2.0 was that this was turned off. Eventough it doesn't seem to have come to an effect before 4.2.2 now was released. ------------------------------------------------------------------------ [2002-07-25 11:59:02] max@ahston.se I have also noticed several webapplications based on PHP to stop working. For example does SquirrelMail not work after changing to Apache 1.3.26+php4.2.2.. But going back to Apache 1.3.26+php4.2.1 there is no problem. I haven't looked deep into the problem, but as the first user reported it seems to be session based. For example there is calender application where you jump back and forth between different months. When running 4.2.2 it doesn't change month but show the same whatever you do.. Running Redhat with Linux 2.4.18-5smp ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/18559 -- Edit this bug report at http://bugs.php.net/?id=18559&edit=1

« previous php.bugs (#19082) next »