ID: 51120 User updated by: antonio04 at gmail dot com Reported By: antonio04 at gmail dot com Status: Bogus Bug Type: Session related Operating System: FreeBSD 7.2 PHP Version: 5.3.1 New Comment:
On further research, this seems due to the session.bug_compat_42 bug/"feature". Turning this setting off in php.ini has resolved the issue. Thanks. Previous Comments: ------------------------------------------------------------------------ [2010-02-23 13:13:24] antonio04 at gmail dot com Just to confirm, register_globals is definitely off -- both as reported by phpinfo() as well as the following snippet: <?php echo 'register_globals = ' . ini_get('register_globals') . "\n"; ?> Which displays the following: register_globals = ------------------------------------------------------------------------ [2010-02-23 13:07:21] antonio04 at gmail dot com Thanks for your quick response. Sorry, I should have mentioned that register_globals is off in php.ini. I included the ini_set line to illustrate that point, but I suppose that's moot, since you can't set it via ini_set =) However, the problem is still there... can you please try to reproduce it? ------------------------------------------------------------------------ [2010-02-23 12:55:53] j...@php.net For starters, you can't set register_globals in script. Hence there's no bug but expected (bad) behaviour on having register_globals = On. Switch it off and all is well. :) ------------------------------------------------------------------------ [2010-02-23 10:33:50] antonio04 at gmail dot com Here are the expected/actual results: Expected result: ---------------- Script 1: Script 2: NULL Actual result: -------------- Script 1: Script 2: string(3) "bar" ------------------------------------------------------------------------ [2010-02-23 08:42:13] antonio04 at gmail dot com Sorry, there was a typo in the reproduce code -- please check this instead: <?php /* Script one */ ini_set('register_globals', 0); session_start(); $_SESSION['foo'] = NULL; $foo = 'bar'; ?> Then view the second script: <?php /* Script two */ session_start(); var_dump($_SESSION['foo']); ?> ------------------------------------------------------------------------ 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/51120 -- Edit this bug report at http://bugs.php.net/?id=51120&edit=1