ID: 39227
User updated by: martyn dot griffin at charter dot net
-Summary: php 5.1.6 introduced $_SERVER problems
Reported By: martyn dot griffin at charter dot net
-Status: Feedback
+Status: Open
Bug Type: Feature/Change Request
Operating System: Fedora 5
PHP Version: 5.1.6
New Comment:
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.
Previous Comments:
------------------------------------------------------------------------
[2006-10-22 05:44:26] [EMAIL PROTECTED]
You are assigning things to _SERVER? That seems like a really bad
idea. What do you think that will do? How about using $GLOBALS for
that instead?
Having said that, I can't reproduce your problem here. Are you running
any 3rd-party extensions, or do you have variables_order in you php.ini
file set to exclude "S" ?
------------------------------------------------------------------------
[2006-10-22 03:55:21] martyn dot griffin at charter dot net
Description:
------------
Using Fedora 5 and yum updated from PHP 5.1.4 to PHP 5.1.6
After completetion of update, I have lost access to all of my $_SERVER
values. They disappear right after assigning them in every script I
use, which has crippled my current application
Reproduce code:
---------------
<?PHP
// index.php
include_once('script/funcs.php');
setTheme('default');
echo 'BG Color-->'.$_SERVER['thmBGcol'];
?>
<?PHP
// funcs.php
function setTheme($thm)
{
$_SERVER['thmBGcol'] = "#000066";
}
Expected result:
----------------
I expect the following line to be echoed:
BG Color-->#000066
instead I get
BG Color-->
Actual result:
--------------
instead I get
BG Color-->
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=39227&edit=1