auto_globals_jit breaks $_SERVER var

php.internals

Artzi, Yoav (Yoav)

20 years ago
I have the following in my php.ini: register_globals = Off register_long_arrays = Off register_argc_argv = Off auto_globals_jit = On The following PHP code prints nothing: <?php $webroot = $_SERVER['DOCUMENT_ROOT']; $server = $_SERVER["HOST"]; $file = $_SERVER["SCRIPT_FILENAME"]; $transport = $_SERVER["REQUEST_TRANSPORT"]; $port = $_SERVER["SERVER_PORT"]; print "$webroot"; print "$server"; print "$transport"; ?> The rest of the php.ini is like php.ini-recommended that comes with the source. Any idea what might be the problem? Thanks, Yoav.

Rasmus Lerdorf

20 years ago
Artzi, Yoav (Yoav) wrote:
> I have the following in my php.ini: > register_globals = Off > register_long_arrays = Off > register_argc_argv = Off > auto_globals_jit = On > The following PHP code prints nothing: > > <?php > $webroot = $_SERVER['DOCUMENT_ROOT']; > $server = $_SERVER["HOST"]; > $file = $_SERVER["SCRIPT_FILENAME"]; > $transport = $_SERVER["REQUEST_TRANSPORT"]; > $port = $_SERVER["SERVER_PORT"]; > print "$webroot"; > print "$server"; > print "$transport"; > ?> > > The rest of the php.ini is like php.ini-recommended that comes with the > source. Any idea what might be the problem?
You never answered my question from php-general. Are you running APC, if so, which version? Which version of PHP are you running? Chances are an upgrade of either or both will fix this. -Rasmus

Stut

20 years ago
Rasmus Lerdorf wrote:
> Artzi, Yoav (Yoav) wrote: >> I have the following in my php.ini: >> register_globals = Off >> register_long_arrays = Off >> register_argc_argv = Off >> auto_globals_jit = On >> The following PHP code prints nothing: >> >> <?php >> $webroot = $_SERVER['DOCUMENT_ROOT']; >> $server = $_SERVER["HOST"]; >> $file = $_SERVER["SCRIPT_FILENAME"]; >> $transport = $_SERVER["REQUEST_TRANSPORT"]; >> $port = $_SERVER["SERVER_PORT"]; >> print "$webroot"; >> print "$server"; >> print "$transport"; >> ?> >> >> The rest of the php.ini is like php.ini-recommended that comes with the >> source. Any idea what might be the problem? > > You never answered my question from php-general. Are you running APC, > if so, which version? Which version of PHP are you running? Chances > are an upgrade of either or both will fix this.
We have seen a similar problem with Zend Platform (2.2.0) and PHP 5.1.4. On the first request everything is fine, but on a refresh all the superglobals are empty. Turning off auto_globals_jit fixes it, as does disabling the Zend Platform. Dunno if that helps you or not. -Stut