php版本大于5.0并注册全局?

时间:2011-10-06 01:09:35

标签: php variables globals

我们正在更换服务器并安装了php 5.3。新服务器发出此错误: 未定义的变量:HTTP_SERVER_VARS 我们注意到注册全局变量已关闭。 在php.net网站上,有一个原因它关闭了php> 4.2; 问题是,我该怎么做才能得到Undefined变量:HTTP_SERVER_VARS,尤其是当我无法启用寄存器全局变量时?

感谢。

3 个答案:

答案 0 :(得分:2)

只需使用$_SERVER$_GET$_POST$_COOKIE即可。它们不受register_globals的影响。

有关详细信息,请参阅superglobals manual page

答案 1 :(得分:2)

如果您不想在所有php文件中将 $ HTTP_SERVER_VARS 更改为 $ _ SERVER ,则可以使用

global $HTTP_SERVER_VARS;
$HTTP_SERVER_VARS = $_SERVER;

答案 2 :(得分:1)

直到PHP 5.3,有一个php.ini设置:

register_long_arrays = On

然而,它会显示弃用说明。

register_globals

同样有一个选项

整整一章都专注于原因。可能是阅读它的好机会:
http://php.net/manual/en/security.globals.php

相关问题