PHP:服务器将$ _SESSION ['Name']数据复制到'$ Name'变量

tic*_*ian 1 php

我刚刚在服务器上发现了一个设置,我正在开发一个与我的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文件中的一个设置,但是,我找不到它的设置.

Mik*_*e B 8

注册全局指令似乎是.

自PHP 5.3.0起,此功能已被弃用,自PHP 6.0.0起已被删除.非常不鼓励依赖此功能.

有关register_globals ini设置的信息

如上面的声明所示,强烈建议您在公共服务器上的php.ini文件中禁用它.

如果您无法访问公共服务器上的php.ini文件,则手册会建议替代方法:

请注意,register_globals不能在运行时设置(ini_set()).虽然如果您的主机允许它,您可以使用.htaccess,如上所述.一个示例.htaccess条目:php_flag register_globals off.