今天帮朋友dedecms网站搬家后报了一个错误:
Notice: Undefined variable: cfg_domain_cookie in /home/wwwroot/huichengff/include/common.inc.php on line 128
Fatal error: 'continue' not in the 'loop' or 'switch' context in /home/wwwroot/huichengff/include/common.func.php on line 49
中文翻译
注意:未定义的变量:/home/wwwroot/huichengff/include/common.inc.php的线上128的cfg_domain_cookie
致命错误:“继续”不在49行/home/wwwroot/huichengff/include/common.func.php中的“循环”或“切换”上下文中
关于为什么出现这个错误?我也表示不是很清楚。
因为这个错误都是dedecms的一个小小的bug,在同一个环境下有可能会报错又有可能不会报错!
解决办法:
既然报错说是 include/common.inc.php 的125行有错误。我就到这里去查看,看到的是125行所显示的代码是,session保存路径,但是仔细查看语法是没有问题的问题的,那么是什么问题导致的呢?
我只好接着往下面的进行查看的时候,所发现了问题,问题的原因是:
在设置session保存路径的时候必须要引入一个文件config.cache.inc.php,那么恰恰相反的是该文件已经引入了,但是不是在session保存路径的代码的前面,因此我们需要把如下代码放入到125行的前面即可:
//系统配置参数
require_once(DEDEDATA."/config.cache.inc.php");//Session保存路径
$enkey = substr(md5(substr($cfg_domain_cookie,0,5)),0,10);
$sessSavePath = DEDEDATA."/sessions_{$enkey}";
if ( !is_dir($sessSavePath) ) mkdir($sessSavePath);if(is_writeable($sessSavePath) && is_readable($sessSavePath))
{
session_save_path($sessSavePath);
}//系统配置参数
//require_once(DEDEDATA."/config.cache.inc.php");
最后保存文件并退出!
然后再次刷新后台查看的时候,这个问题就成功的解决了。