五金资讯 动漫资讯  软件资讯
育儿资讯 航空资讯 旅游资讯 
电子资讯 化工资讯 体育资讯 范文论文
科技资讯 健康资讯 医药资讯 灯饰资讯
站长资讯
求职招聘
 
ecshop报错Notice: unserialize()[function.unserialize]: Error
http://chengdongqin7.cn  2020-05-22 03:43:29  

使用ecshop出现报错提示:

Notice: unserialize() [function.unserialize]: Error at offset 159 of 647 bytes in eshopincludeslib_common.php on line 224

解决办法:

一、 一般是报错页面上传不完整导致,请找原文件覆盖测试。

二、找到的另外一种情况

lib_common.php的224行

$cfg = unserialize($GLOBALS['_CFG']['integrate_config']);

是将会员整合配置信息反序列化的操作,产生报错的原因是因为序列化的字符串格式不对,无法正常反序列化,产生这种情况的时候很少,目前只在UTF-8编码格式下发现。

解决方法,在lib_common.php大约604行找到

if (empty($arr['integrate_code']))

{

$arr['integrate_code'] = 'ecshop'; // 默认的会员整合插件为 ecshop

}

write_static_cache('shop_config', $arr);

修改为

if (empty($arr['integrate_code']))

{

$arr['integrate_code'] = 'ecshop'; // 默认的会员整合插件为 ecshop

}

if (!empty($arr['integrate_config']) && EC_CHARSET == 'utf-8')

{

$arr['integrate_config'] = preg_replace('!s:(d+):"(.*?)";!se',"'s:'.strlen('$2').':"$2";'",str_replace(' ','',$arr['integrate_config']));

}

write_static_cache('shop_config', $arr);

修改完成后,进入后台清除缓存。

注意:这个只能用在lib_common.php 224行的这个错误上,如果不是请不要随便修改程序!