A-A+

Notice: unserialize()[function.unserialize]

2015年09月14日 PHP开源系统 评论 1 条 阅读 12 views 次

自从帮客户转移了 ecshop 空间之后,网站就出现一连串的问题,今天又出现了了这样的错误提示:

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

直接显示报错,最后夏日博客找到的原因原来是在转移过程中丢失了问题,也就是在上传到新空间的时候有些文章上传不完整导致的,只好再次上传,这次将整个文件打包上传上去,然后在线进行解压,问题终于解决了。

不过在谷歌上查询答案的时候,也发现了另外一个解决方法,不过跟我上面遇到的情况不太一样,不过在这里夏日博客还是要分享一下的,如果你的 ecshop 也遇到同样的问题,可以尝试一下下面的方法。

在lib_common.php大约604行找到如下代码:

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

修改为:

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

修改之后还要进入 ecshop 后台清除一下缓存,现在再来刷新一下页面,看是否还会出现 lib_common.php on line 224 之类的错误。

标签:

1 条留言  访客:1 条  博主:0 条

  1. 打码赚钱平台

    ,也就是在上传到新空间的时候有些文章上传不完整导致的,只好再次上传,这次将整个文件打包上传上去,然后在线进行解压,问题终于解决了。

给我留言