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