ecshop和discuz整合中问题完美解决方法

来源:互联网 发布:centos设置防火墙端口 编辑:程序博客网 时间:2024/06/02 21:51

昨天在整合ecshop和discuz中出现了数据可以共享,但无法同步登录的问题,在上

网查了一天,试了一天后总算完美解决(累啊)!方法如下:昨天出现问题后,各种谷

歌百度,但发现大部分人的问题都很容易解决了,出现的情况并不和我的相同,所以我

就很纳闷,考虑是不是系统版本的问题。所以我就把两个系统重新安装了一遍,但问题

依旧。

今天实在无计可施的时候,就换了其他搜索引擎,在翻了好几页之后发现了帮助我

解决第一个问题的答案。上面有人是这么说的,“把ucenter 的

uc_server/data/cache/apps.php 文件复制到各个系统的 

uc_client/data/cache/apps.php”。因为之前整合的时候给ecshop根目录下复制了客户端

文件夹,因此我就把那个uc服务端的文件给两个客户端里各拷贝了一个,本来不抱多大

望的,因为这个方法提到的人很少,但就是这么意外,在我登录discuz后,打ecshop

前端,刷新页面后尽然奇迹般的自动登录了!鸡冻不已。正当我沉浸在此刻的时候,问

题又来了,我发现如果我先登录discuz,则ecshop可以自动登录,但是如果我先登录

ecshop,discuz是无法同步完成登录的。哎,一头凉水从天而降!不过不打紧,既然解

决了一步,就有希望解决第二步。

在又尝试了多个网友的方法后,我尝试从代码的区别来解决问题,但是又无从入

手。无奈下,只得继续谷歌百度,但这次很快就发现了一个细节的问题,在官网的论坛

发现一个网友和我的情况完全相同,而他也贴出了解决方式(感谢),原来真的只是一

个细节的问题,我试着改了后,完全ok。方法如下:“在进入ecshop后台进行整合uc的

时候,在整合完成后,点击设置,出现整合的配置信息,关键的来了,大家看到有一项

是“UCenter 访问地址”,里面的地址是uc_server的绝对地址,但问题就在这,因为这个

地址是自动生成的,而他生成的地址乍看起来没什么问题,但他在最前面少了http协

议头,所以,解决方法就是在这个地址前面加上‘http://’协议头,ok,问题解决!

但这个时候如果你反复登录登出几次会发现有时候登出无法同步,所以就来到第三个问

题:完美同步登出。关于这个问题网上方法很多,基本我都试过了,最后成功解决最后

一个问题,我选用了其中2个方法,如下:“在ecshop根目录下的api\uc.php 第410行,

将empty($user_id)改为!empty($user_id)”;紧接着“在ecshop根目录下

\includes\modules\integrates\ucenter.php 第205行,将$this->ucdata = 

uc_call("uc_user_synlogout") 改为 $this->ucdata = 

uc_call("uc_user_synlogout",array("0"))”。ok,到此为止,所有问题迎刃而解,希望对

有相同问题的朋友有所帮助!

0 0