西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > ecshop教程 >

ecshop报错Notice: unserialize()[function.unserialize]: Error at offset解决方法

时间:2012-02-29 10:42来源:未知 作者:好模板 点击:
使用ecshop出现报错提示: Notice:unserialize()[function.unserialize]:Erroratoffset159of647bytesin\eshop\includes\lib_common.phponline224 解决办法: 一、 一般是报错页面上传不完整导致,请找原文件覆盖测试。

 使用ecshop出现报错提示:

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

解决办法:

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

二、好模板找到的另外一种情况

lib_common.php的224行

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


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

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

  1.         if (empty($arr['integrate_code']))
  2.         {
  3.             $arr['integrate_code'] = 'ecshop'; // 默认的会员整合插件为 ecshop
  4.         }
  5.         write_static_cache('shop_config', $arr);


修改为

  1.         if (empty($arr['integrate_code']))
  2.         {
  3.             $arr['integrate_code'] = 'ecshop'; // 默认的会员整合插件为 ecshop
  4.         }
  5.         if (!empty($arr['integrate_config']) && EC_CHARSET == 'utf-8')
  6.         {
  7.             $arr['integrate_config'] = preg_replace('!s:(\d+):"(.*?)";!se',"'s:'.strlen('$2').':\"$2\";'",str_replace(' ','',$arr['integrate_config']));
  8.         }
  9.         write_static_cache('shop_config', $arr);

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

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

 

(责任编辑:好模板)
顶一下
(3)
100%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容