discuz, wordpress

wordpress与discuz整合, ucenter-integration 插件无法同步登陆解决

discuz与wordpress整合只能通过 ucenter-integration插件,也只有这一个上古插件,安装,设置一切顺利,但是

说到但是总是让人蛋疼,折腾了好几天,必须得铺垫铺垫

但是只可以wordpress登陆,同步登陆到discuz,而discuz登陆注销,却无法同步到wordpress

找了好多资料,反反复复就那么两个解决方案,都是改某处代码,但是没什么鸟用,自己折腾半天,终于找到原因,解决办法:

原因是因为discuz下面uc_client\client.php 的第379行

function uc_user_synlogout() {
if(@include UC_ROOT.’./data/cache/apps.php’) {
if(count($_CACHE[‘apps’]) > 1) {
$return = uc_api_post(‘user’, ‘synlogout’, array());
} else {
$return = ”;
}
}
return $return;
}

if(count($_CACHE[‘apps’]) > 1) {这个判断出错,$_CACHE[‘apps’]数组应该是2或者更多的,但是这里是1,所以无论discuz如何登陆退出,都不会向ucenter发送同步通知,自然wordpress也就无法收到,无法实现同步了

打开这个配置文件,确实,只有一个数组,原来,是因为安装了独立的ucenter,dz下面的cache/apps.php没有更新,可能是ucenter清除缓存出了问题,或者其他原因。

解决方法很简单,将ucenter-integration插件下面的/data/cache/apps.php文件复制出来,覆盖到dz的uc_client/data/cache/apps.php下面就OK了

1 thought on “wordpress与discuz整合, ucenter-integration 插件无法同步登陆解决

  1. 感谢博主!请问是需要再把“if(count($_CACHE[‘apps’]) > 1”从1调整为apps.php 的应用数,比如3吗?

    我现在只进行如下操作:“将ucenter-integration插件下面的/data/cache/apps.php文件复制出来,覆盖到dz的uc_client/data/cache/apps.php下面就OK了”,但是出现如下情况:
    1. WordPress 登录,Discuz 登录;
    2. WordPress退出,Discuz退出;
    3. Discuz 登录,Wordpress 不登录;
    4. Discuz 退出,Wordpress 不退出;

    还是没有找到解决方案,想要请教一下,感谢。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注