从环境参数自动创建变量

时间:2014-08-28 20:07:53

标签: php

我正在开发一个遗留的PHP网站,作为对某人的青睐,我已经在本地设置了网站,但有一点不起作用的是代码似乎表现得像环境参数一样(例如,获取,所有帖子,PHP_AUTH_USER等都似乎神奇地转变为预设变量,我不知道如何。

代码看起来像

<? if ($division) { ?><? if ($PHP_AUTH_USER) { ?>

但在我将其更改为

之前不会在本地工作

<? if ($_GET['division']) { ?><? if ($_SERVER['PHP_AUTH_USER']) { ?>

这些代码行位于页面的顶部,之前没有其他包含可以在其他地方执行。

有什么想法吗?这是我错过的PHP配置中的设置吗?

2 个答案:

答案 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执行此操作。