会话变量泄漏到全局命名空间

index.php

session_start();
$_SESSION['a']='test';
echo $a;
die();

When I run the above, the first time I get a blank screen with no error. After page refresh it outputs the word test

It does not do this on my development server, only on production (shared on Hostgator).

Is this a server fault?

register_globals is unfortunately turned on with your Hostgator hosting. You'll need to turn it off in your php.ini, if they give you access to it.