-Rasmus
Ilia Alshanetsky wrote:
IMO this is something that should be marked as Won't Fix and hope that by PHP 5.2 we can drop register_globals all together. Heck, perhaps we can do it for PHP 5.1.
Ilia
Andi Gutmans wrote:
This behavior makes some sort of sense. It happens when register_globals is on which means you are supposed to be able to access $GLOBALS[] and it makes sense for it to stay in sync with the global variables.
Maybe $GLOBALS[] and $GLOBALS direct access are edge cases but should we invest time and code to resolve this when we know it's a general problem anyway?
Andi
At 01:39 PM 2/15/2005 +0200, Jani Taskinen wrote:
Patch to fix is here:
http://www.php.net/~jani/patches/bug31440.php_4_3_patch http://www.php.net/~jani/patches/bug31440.php_HEAD_patch
In PHP_4_3 you can overwrite GLOBALS with these queries:
?GLOBALS[foo]=err or ?GLOBALS[]=foo or ?GLOBALS=foo
In HEAD you can overwrite GLOBALS with this only:
?GLOBALS=foo
I didn't investigate WHY that is the only type of query that "works" in HEAD branch but the same patch fixed that too.
None of super-globals can be overwritten like this, be it register_globals On or Off.
IMNSHO, GLOBALS should be "protected".
(I don't say that this hacky patch of mine is the way, but it does the job :)
--Jani
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php