ID: 39227 User updated by: martyn dot griffin at charter dot net Reported By: martyn dot griffin at charter dot net -Status: Bogus +Status: Closed Bug Type: Feature/Change Request Operating System: Fedora 5 PHP Version: 5.1.6 New Comment:
Found root cause (but not reason for change). The directory that was holding the php session values had its protection altered and Apache no longer was able to write to it. Hence no session values were found after being set. This did occur at the time the php 5.1.6 upgrades were applied, but have NO IDEA how or why. I know I did not do it, and no one else has access to the system. Previous Comments: ------------------------------------------------------------------------ [2006-10-23 12:40:38] [EMAIL PROTECTED] No, there were no such changes in 5.1.6. ------------------------------------------------------------------------ [2006-10-23 12:25:13] martyn dot griffin at charter dot net It apparently has to do with some sort of SESSION boundary handling, and was changed at the onset of 5.1.6. Perhaps some ini file setting that now defaults differently than before?? ------------------------------------------------------------------------ [2006-10-23 08:22:51] [EMAIL PROTECTED] PHP doesn't know anything (and doesn't care) about frames. This is obviously not PHP problem. ------------------------------------------------------------------------ [2006-10-22 22:20:34] martyn dot griffin at charter dot net I think I understand why you could not recreate the problem?! I was working using a frameset, where the SESSION values were being set in the page that defined the frames. When the target pages were launched in each of the frames, all the SESSION values are gone. When I finally tested it outside of any frames, it all worked as expected. To put this another way, when I create a simple frameset definition and at the start of it do something like: $_SESSION['xxx']="abcdef"; that value never shows when I try to echo it from the page that the frame links to. I have a WXP environment that is running PHP 5.1.5 and this problem does not occur. Unfortunately (for me!), I can not revert my Linux system back to pre-PHP 5.1.6 ------------------------------------------------------------------------ [2006-10-22 15:52:56] martyn dot griffin at charter dot net I owe all an appology - it must have been a senior moment!! The issue applies to using $_SESSION not $_SERVER, so please change that in all my references. I have the following set (or defaulted) in php.ini register_globals = Off register_long_arrays = Off register_argc_argv = Off variables_order = "EGPCS" This was not changed since running 5.1.4 when the application functioned as expected. Also, the example to reproduce the problem should be altered in the included code as: <?PHP // index.php include_once('script/funcs.php'); setTheme('default'); echo 'BG Color-->'.$_SESSION['thmBGcol']; ?> <?PHP // funcs.php session_start(); $_SESSION['BASE'] = 'default'; function setTheme($thm) { $_SESSION['thmBGcol'] = "#000066"; } ?> Every page used starts with the include for funcs.php. ------------------------------------------------------------------------ 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/39227 -- Edit this bug report at http://bugs.php.net/?id=39227&edit=1