使用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行
- $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行的这个错误上,如果不是请不要随便修改程序!
打赏
打赏
扫码打赏,你说多少就多少
打开支付宝扫一扫,即可进行扫码打赏哦
百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!