RE: Stopping objects from auto-serializing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: David Christopher Zentgraf [mailto:deceze@xxxxxxxxx] 
> Sent: 31 October 2007 08:04
> To: PHP
> Subject: Re:  Stopping objects from auto-serializing
> 
> 
> After some more playing around and a lot of print_r($SESSION)'s:
> 
> This specific PHP configuration seems to replace every entry in  
> $_SESSION if a variable with the same name is used in the 
> main script  
> with that variable.
> 
> I.e.
> session_start() // $_SESSION["foo"] is now "bar"
> $foo = "12345";
> $var = "xxxx";
> 
> function test() {
> 	$foo = "67890";
> }
> test();
> 
> After execution finished $_SESSION["foo"] is now "12345", but 
> there's  
> no $_SESSION["var"].
> What's going on here?

That's exactly the behaviour caused by register_globals being on --
session_start() takes each $_SESSION["var"] and makes the equivalent
global $var be a reference to it. Other variables only get mirrored in
$_SESSION if you session_register() them.

(track_vars, mentioned previously, is a red herring -- it's been
permanently enabled since 4.0.something.)
Cheers!

Mike
 
------------------------------------------------------------------------
----------------
Mike Ford, Electronic Information Services Adviser,
JG125, The Headingley Library, James Graham Building,
Headingley Campus, Beckett Park, LEEDS, LS6 3QS
United Kingdom
Tel: +44 113 812 4730         Fax: +44 113 812 3211


To view the terms under which this email is distributed, please go to http://disclaimer.leedsmet.ac.uk/email.htm

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux