解决织梦(dedecms)的php.ini
>首页 -> 社会专题 -> 硬件网络 2011-03-06 来源: 作者: 【】 浏览:570

解决织梦(dedecms)的php.ini register_globals must is Off!

php.ini register_globals must is Off!

3月24日,很多站长的后台出现了这段提示,或者是织梦(dedecms)后台栏目消失。出现这个提示的多是使用的织梦(dedecms)系统。原因是dedecms在24日进行了在线更新。

下面提供几种解决方案

解决php.ini register_globals must is Off!方案1.

替换代码!

很多朋友在dedecms论坛求救,本人现在提供一下代码!替换了就能成功进入后台!

找到 根目录/include/common.inc.php 用Dreamweaver或者EditPlus或记事本打开!复制以下代码替换!保存!上传覆盖即可!

如不放心可以先备份原来的!

<?php

//error_reporting(E_ALL);

error_reporting(E_ALL || ~E_NOTICE);

define('DEDEINC', ereg_replace("[/\\]{1,}", '/', dirname(__FILE__) ) );

define('DEDEROOT', ereg_replace("[/\\]{1,}", '/', substr(DEDEINC,0,-8) ) );

define('DEDEDATA', DEDEROOT.'/data');  define('DEDEMEMBER', DEDEROOT.'/member');

define('DEDETEMPLATE', DEDEROOT.'/templets');

//检查和注册外部提交的变量

foreach($_REQUEST as $_k=>$_v)  {  

if( strlen($_k)>0 && eregi('^(cfg_|GLOBALS)',$_k) )

{      

exit('Request var not allow!');  

}

}

function _RunMagicQuotes(&$svar)

{  

if(!get_magic_quotes_gpc())  

{      

if( is_array($svar) )    

{          

foreach($svar as $_k => $_v) $svar[$_k] = _RunMagicQuotes($_v);    

}      

else    

{          

$svar = addslashes($svar);      

}  

}  

return $svar;

}

foreach(Array('_GET','_POST','_COOKIE') as $_request)

{    

foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v);

}

//系统相关变量检测

if(!isset($needFilter))

{    

$needFilter = false;

}

$registerGlobals = @ini_get("register_globals");

$isUrlOpen = @ini_get("allow_url_fopen");

$isSafeMode = @ini_get("safe_mode");

if( eregi('windows', @getenv('OS')) )

{  

$isSafeMode = false;

}

//Session保存路径

$sessSavePath = DEDEDATA."/sessions/";

if(is_writeable($sessSavePath) && is_readable($sessSavePath))

{    

session_save_path($sessSavePath);

}

//系统配置参数

require_once(DEDEDATA."/config.cache.inc.php");  

//转换上传的文件相关的变量及安全处理、并引用前台通用的上传函数

if($_FILES)

{    

require_once(DEDEINC.'/uploadsafe.inc.php');

}

//数据库配置文件

require_once(DEDEDATA.'/common.inc.php');

//php5.1版本以上时区设置

//由于这个函数对于是php5.1以下版本并无意义,因此实际上的时间调用,应该用MyDate函数调用

if(PHP_VERSION > '5.1')

{    

$time51 = $cfg_cli_time * -1;    

@date_default_timezone_set('Etc/GMT'.$time51);

}

$cfg_isUrlOpen = @ini_get("allow_url_fopen");  

//用户访问的网站host

$cfg_clihost = 'http://'.$_SERVER['HTTP_HOST'];

//站点根目录

$cfg_basedir = eregi_replace($cfg_cmspath.'/include$','',DEDEINC);

if($cfg_multi_site == 'Y')

{  

$cfg_mainsite = $cfg_basehost;  }

else

{    

$cfg_mainsite = '';

}

//模板的存放目录

$cfg_templets_dir = $cfg_cmspath.'/templets';

$cfg_templeturl = $cfg_mainsite.$cfg_templets_dir;

//cms安装目录的网址  $cfg_cmsurl = $cfg_mainsite.$cfg_cmspath;

//插件目录,这个目录是用于存放计数器、投票、评论等程序的必要动态程序

$cfg_plus_dir = $cfg_cmspath.'/plus';

$cfg_phpurl = $cfg_mainsite.$cfg_plus_dir;

$cfg_data_dir = $cfg_cmspath.'/data';

$cfg_dataurl = $cfg_mainsite.$cfg_data_dir;

//会员目录

$cfg_member_dir = $cfg_cmspath.'/member';

$cfg_memberurl = $cfg_mainsite.$cfg_member_dir;

//专题列表的存放路径

$cfg_special = $cfg_cmspath.'/special';

$cfg_specialurl = $cfg_mainsite.$cfg_special;

//附件目录

$cfg_medias_dir = $cfg_cmspath.$cfg_medias_dir;

$cfg_mediasurl = $cfg_mainsite.$cfg_medias_dir;

//上传的普通图片的路径,建议按默认

$cfg_image_dir = $cfg_medias_dir.'/allimg';

//上传的缩略图

$ddcfg_image_dir = $cfg_medias_dir.'/litimg';

//用户投稿图片存放目录

$cfg_user_dir = $cfg_medias_dir.'/userup';

//上传的软件目录

$cfg_soft_dir = $cfg_medias_dir.'/soft';

//上传的多媒体文件目录

$cfg_other_medias = $cfg_medias_dir.'/media';

//软件摘要信息,****请不要删除本项**** 否则系统无法正确接收系统漏洞或升级信息

$cfg_version = 'V55_GBK';

$cfg_soft_lang = 'gb2312';

$cfg_soft_public = 'base';

$cfg_softname = '织梦内容管理系统';

$cfg_soft_enname = 'DedeCms';

$cfg_soft_devteam = 'Dedecms官方团队';

//文档的默认命名规则

$art_shortname = $cfg_df_ext = '.html';

$cfg_df_namerule = '{typedir}/{Y}/{M}{D}/{aid}'.$cfg_df_ext;

//新建目录的权限,如果你使用别的属性,本程不保证程序能顺利在Linux或Unix系统运行

if(isset($cfg_ftp_mkdir) && $cfg_ftp_mkdir=='Y')

{  

$cfg_dir_purview = '0755';

}

else

{  

$cfg_dir_purview = 0755;

}

//会员是否使用精简模式(已禁用)

$cfg_mb_lit = 'N';

//特殊全局变量

$_sys_globals['curfile'] = '';

$_sys_globals['typeid'] = 0;

$_sys_globals['typename'] = '';

$_sys_globals['aid'] = 0;

if(emptyempty($cfg_addon_savetype))

{    

$cfg_addon_savetype = 'Ymd';

}

if($cfg_sendmail_bysmtp=='Y' && !emptyempty($cfg_smtp_usermail))

{    

$cfg_adminemail = $cfg_smtp_usermail;

}

if(!isset($cfg_NotPrintHead))

{    

header("Content-Type: text/html; charset={$cfg_soft_lang}");

}  

//引入数据库类

require_once(DEDEINC.'/dedesql.class.php');

//全局常用函数

require_once(DEDEINC.'/common.func.php');

?>

解决php.ini register_globals must is Off!方案2.

下面是解决办法,引自天涯版主帖子。

如果是独立服务器的用户可以修改php配置文件中的php.ini,将register_globals=On改为register_globals=Off

同时把session.auto_start=1改成session.auto_start=0,然后重启Apache.

如果是虚拟主机的用户,尽可能的通知空间商让其对配置进行修改,或者可以尝试ini_set('session.auto_start',0)来.

如果实在不行,那只有采用最后的办法直接去include/common.inc.php中将

//禁止 session.auto_start

if ( ini_get('session.auto_start') != 0 )

{

exit('php.ini session.auto_start must is 0 ! ');

}

删除即可.

==================

建议联系空间商!

解决php.ini register_globals must is Off!方案3.

把以前的include、plus两个文件夹的文件传到服务器上覆盖下,就可以进了。

连升级提示都没了。。现在后台运行正常、添加文章、更新一切正常。

您看到此篇文章时的感受是:
Tags: 责任编辑:佚名
免责申明: 除原创及很少部分因网文图片遗失而补存外,本站不存储任何有版权的内容。你看到的文章和信息及网址索引均由机器采集自互联网,由于时间不同,内容可能完全不同,请勿拿本网内容及网址索引用于交易及作为事实依据,仅限参考,不会自行判断者请勿接受本站信息,本网转载,并不意味着赞同其观点或证实其内容的真实性.如涉及版权等问题,请立即联系管理员,我们会予以更改或删除,保证您的权利.对使用本网站信息和服务所引起的后果,本网站不作任何承诺.
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论:0条】 【关闭】 【返回顶部
微信分享二维码

打开微信扫一扫分享

上一篇织梦如何批量删除文章中包含的某.. 下一篇htaccess文件怎么创建?
密码: (新用户注册)

最新文章

图片主题

热门文章

推荐文章

相关文章

便民服务

手机扫描

空间赞助

快速互动

论坛互动
讨论留言

有事联系

有哪个那个什么的,赶紧点这里给DOVE发消息

统计联系

MAIL:gnlt@Dovechina.com
正在线上:1

版权与建议

任何你想说的