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

高防云服务器 企业邮箱 全新登场 1G云虚拟主机 188元/年

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);
    }
}
?>


编辑:西部数码
日期:2010-04-02

分享至:
收藏 】 【 打印 】   
上一篇:VPS主机如何安装mssql2005
下一篇:[原创]Shopex网店使用过程中遇到的问题怎么办?
企业邮箱 全新登场 1G云虚拟主机 188元/年
  >> 相关文章
 
Top

24小时客服热线

400-028-5800

028-62778877

  • 售前咨询请拨4
  • 售后服务请拨5
  • 技术支持请拨7
  • 投诉建议请拨9
  • 备案问题请提交工单

咨询售后问题请先打开 电话助手