全局变量访问$var而不是 $_GET['var']


Global variables accessing $var instead of $_GET['var']

我有一个非常古老的内联网系统,我想它是在 6-8 年前实现的。我遇到了一些问题,因为我现在使用的那个是最新版本的 PHP,当然有些已经被弃用了。

我能够修复/调整一些不推荐使用的 php 函数,允许 php 读取短标签<? ?>等。但是,我仍然想修复一个,但我不确定如何修复。

我的第一个计划是将所有全局变量更改为 $_GET,但这非常乏味,而且我只想在本地有一个运行副本。降级我的PHP版本也不是一种选择,因为我也在其他项目中使用它。

所以我现在的问题是,是否有我可以设置的 php.ini 配置,以便系统在没有错误/警告的情况下运行并且可以识别全局变量?

register_globals

你所说的配置开关:http://www.php.net/manual/en/security.globals.php

它从 PHP 5.3.0 开始被弃用,自 PHP 5.4.0 起被删除,因为它存在严重的安全问题。请帮你自己和你的客户一个忙,改变所有这些变量。

读取

http://www.php.net/manual/en/ini.core.php#ini.register-globals

more info

注意:

此功能已从 PHP 5.3.0 开始弃用,从 PHP 5.4.0 开始被删除。

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