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