What is auto_globals_jit?

php.internals

Philip Olson

21 years ago
Hi! Could someone explain auto_globals_jit a little? It'll then be documented :) Regards, Philip

Derick Rethans

21 years ago
On Wed, 19 Jan 2005, Philip Olson wrote:
> Could someone explain auto_globals_jit a little? It'll then > be documented :)
AFAIK it is a setting to control whether autoglobals (GET/POST/COOKIE et al.) should be initialized JIT (Just In Time, when they are first used), or always when the script starts. I am not sure for which auto globals this setting has any effect though. Derick
-- Derick Rethans http://derickrethans.nl | http://ez.no | http://xdebug.org

Nuno Lopes

21 years ago
> On Wed, 19 Jan 2005, Philip Olson wrote: > >> Could someone explain auto_globals_jit a little? It'll then >> be documented :) > > AFAIK it is a setting to control whether autoglobals (GET/POST/COOKIE et > al.) should be initialized JIT (Just In Time, when they are first used), > or always when the script starts. I am not sure for which auto globals > this setting has any effect though. > > Derick
Doing a search at LXR, I've found this http://lxr.php.net/source/php-src/main/php_variables.c#579 JIT is controled by this: zend_bool jit_initialization = (PG(auto_globals_jit) && !PG(register_globals) && !PG(register_long_arrays) && !PG(register_argc_argv)); So, you need auto_globals_jit enabled, as well register_globals, register_long_arrays and register_argc_argv disabled. Looking below, we can check that it is only applied to $_ENV and to $_SERVER. $_POST, $_GET and $_COOKIE seems not to implement this JIT initalization. $_REQUEST seems also not to be initialized when 'jit_initialization' is true. But to be sure, just make a bit of testing :) Nuno