我正在开发一个遗留的PHP网站,作为对某人的青睐,我已经在本地设置了网站,但有一点不起作用的是代码似乎表现得像环境参数一样(例如,获取,所有帖子,PHP_AUTH_USER等都似乎神奇地转变为预设变量,我不知道如何。
代码看起来像
<? if ($division) { ?>
或<? if ($PHP_AUTH_USER) { ?>
但在我将其更改为
之前不会在本地工作 <? if ($_GET['division']) { ?>
或<? if ($_SERVER['PHP_AUTH_USER']) { ?>
这些代码行位于页面的顶部,之前没有其他包含可以在其他地方执行。
有什么想法吗?这是我错过的PHP配置中的设置吗?
答案 0 :(得分:1)
您可以在php.ini
设置的register_globals
进行更改关闭
还要注意有一个 security risk (因为它使服务器,cookie等变量成为全局)参与使用register_globals
。更好的选择是改变它。
答案 1 :(得分:0)
尝试这样的事情:
while (list($k, $v) = each ($_GET)) {
$$k = $v;
}
&#34; $$&#34;是正确的!这是一个变量变量。 因此,所有$ _GET对都可以在没有$ _GET的情况下访问。您也可以使用$ _SERVER执行此操作。