使用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行的這個錯誤上,如果不是請不要隨便修改程序!
新聞熱點
疑難解答