常见问题解答虚拟主机问题 → 虚拟主机问题

register_globals=off 网站打不开的解决方法

register_globals是php.ini里的一个配置,这个配置影响到php如何接收传递过来的参数,顾名思义,register_globals的意思就是注册为全局变量,所以当On的时候,传递过来的值会被直接的注册为全局变量直接使用,而Off的时候,我们需要到特定的数组里去得到它。所以,碰到上边那些无法得到值的问题的朋友应该首先检查一下你的register_globals的设置和你获取值的方法是否匹配。(查看可以用phpinfo()函数或者直接查看php.ini)

register_globals=off的目的主要是为安全考虑,同时大多数程序要求将该值设为off,以前用On风格写的大量脚本怎么办? 如果你以前的脚本规划得好,有个公共包含文件,比如config.inc.php一类的文件,在这个文件里加上以下的代码来模拟一下(这个代码不保证100%可以解决你的问题,因为我没有大量测试,但是我觉得效果不错)。

代码:

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

爱普互联-西部数码代理商




编辑:西部数码钻石级分销商——爱普互联
日期:2013-09-02

上一篇:什么是POP3?
下一篇:SHOPEX无法可视化编辑的解决方法
  >> 相关文章