我刚刚在服务器上发现了一个设置,我正在开发一个与我的localhost设置不同的网站,但是,我无法找到更改它的位置.
这是一个简单的例子,说明正在发生的事情.
$_SESSION['Animal'] = "Dog";
echo "#1: ".$_SESSION['Animal']."<br/>";
echo "#2: ".$Animal;
Run Code Online (Sandbox Code Playgroud)
在我的localhost上,服务器返回:
#1:狗
#2:
在公共主机上,服务器返回:
#1:狗
#2:狗
我猜这是公共服务器php.ini文件中的一个设置,但是,我找不到它的设置.
该注册全局指令似乎是.
自PHP 5.3.0起,此功能已被弃用,自PHP 6.0.0起已被删除.非常不鼓励依赖此功能.
如上面的声明所示,强烈建议您在公共服务器上的php.ini文件中禁用它.
如果您无法访问公共服务器上的php.ini文件,则手册会建议替代方法:
请注意,register_globals不能在运行时设置(ini_set()).虽然如果您的主机允许它,您可以使用.htaccess,如上所述.一个示例.htaccess条目:php_flag register_globals off.