Edit report at https://bugs.php.net/bug.php?id=55088&edit=1

 ID:                 55088
 Updated by:         johan...@php.net
 Reported by:        m dot rondini at tigersecurity dot it
 Summary:            $GLOBALS["_REQUEST"]["something"] not set variable
                     on auto_prepend_file
-Status:             Open
+Status:             Wont fix
 Type:               Bug
 Package:            *General Issues
 Operating System:   Linux
 PHP Version:        5.3.6
 Block user comment: N
 Private report:     N

 New Comment:

Super-Globals ($_GET / $_REQUEST / $_SESSION / ...) are optimized that they are 
only provided if the parser detects them being used. If you write 
$GLOBALS["_REQUEST"] only this won't be detected.

You can fix the issue by writing

    $_REQUEST["test"] = "request";
    $_GET["test1"] = "get";

or by setting auto_globals_jit=0 in php.ini

The only way we could fix it is by always providing all super-globals in every 
context which is a notable performance hit.


Previous Comments:
------------------------------------------------------------------------
[2011-06-30 09:26:36] m dot rondini at tigersecurity dot it

Description:
------------
test1.php
[CODE]
<?php
        $GLOBALS["_REQUEST"]["test"] = "request";
        $GLOBALS["_GET"]["test1"] = "get";
?>
[/CODE]


test2.php
[CODE]
<?php
        echo $_REQUEST["test"];
        echo "<br />";
        echo $_GET["test1"];
?>
[/CODE]


.htaccess
[CODE]
php_value auto_prepend_file ./test1.php
[/CODE]


with this scenario, the only printed variable is $_GET["test1"] . However, if I 
append "print_r($_REQUEST);" in test1.php, it work. 

Expected result:
----------------
request
get

Actual result:
--------------

get


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=55088&edit=1

Reply via email to