您的位置:首页 > 编程语言 > PHP开发

网博士解决全局变量不开启问题

2011-01-19 14:00 225 查看

考虑将register_long_arrays设置为Off

if ( !ini_get("register_globals") )
{
    extract($_POST);
    extract($_GET);
    extract($_SERVER);
    extract($_FILES);
    extract($_ENV);
    extract($_COOKIE);
   
    if ( isset($_SESSION) )
    {
        extract($_SESSION);
    }
}

 

如果你使用php5.0以上,在程序中没有使用$HTTP_*_VARS这种变量,那么就可以考虑将register_long_arrays设置为Off,来提高一点点性能。

看下PHP手册中关于register_long_arrays的解释:

register_long_arrays boolean
设定 PHP 是否注册已过时的 $HTTP_*_VARS 之类的预定义变量。如果为 On(默认值),则类似 $HTTP_GET_VARS 的 PHP 变量会被注册。如果不使用,为性能考虑建议关闭此选项,而使用超全局数组例如 $_GET 替代之。

本指令自 PHP 5.0.0 起可用。

由于$HTTP_*_VARS这种变量已经过时,PHP手册中明确表示反对使用,因此如果程序中还有这类变量建议更改为新的PHP 超全局变量。
$HTTP_GET_VARS -> $_GET
$HTTP_POST_VARS -> $_POST
$HTTP_COOKIE_VARS  -> $_COOKIE
$HTTP_POST_FILES -> $_POST
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  arrays php session server ini