作者:hobeson_861 | 来源:互联网 | 2018-03-25 03:14
UCenter是Comsenz旗下各个产品之间信息直接传递的一个桥梁,通过UCenter站长可以无缝整合Comsenz系列产品,实现用户的一站式登录以及社区其他数据的交互,但很多站长在使用它时...
UCenter是Comsenz旗下各个产品之间信息直接传递的一个桥梁,通过UCenter 站长可以无缝整合Comsenz系列产品,实现用户的一站式登录以及社区其他数据的交互,但很多站长在使用它时会碰到一些问题了,下文就ucenter整理tipask问答系统与discuz单项同步问题解决方法
今天整合了一下论坛discuz+问答系统tipask,按照官方后台操作配置了ucenter,实现的会员数据同步的功能
后来测试发现,只有从tipask(登录、注册)可以同步到discuz
从discuz登录确不能同步到tipask上面,于是在网上找了很多资料,也有很多网友出现了跟我一样的问题;都没有解决
实在没办法了,只能一点点的解读代码
发现uc_client下的client.php文件有这样一段话
====================================
function uc_user_synlogin($uid) {
$uid = intval($uid);
if(@include UC_ROOT.'./data/cache/apps.php') {
if(count($_CACHE['apps']) > 1) {
$return = uc_api_post('user', 'synlogin', array('uid'=>$uid));
} else {
$return = '';
}
}
return $return;
}
====================================
上面意思是只有应用数大于一才会执行其他同步操作
于是去找了一下/data/cache/apps.php这个文件发现了问题;
默认配置好tipask+discuz的时候,这个文件并没有增加应用数,以前默认只有一个,下面那个应用是我手动加上了,
====================================
array (
'appid' => '1',
'type' => 'DISCUZX',
'name' => 'Discuz! Board',
'url' => 'http://127.0.0.12',
'ip' => '',
'viewprourl' => '',
'apifilename' => 'uc.php',
'charset' => '',
'dbcharset' => '',
'synlogin' => '1',
'recvnote' => '1',
'extra' => false,
'tagtemplates' => '',
'allowips' => '',
),
2 =>
array (
'appid' => '2',
'type' => 'OTHER',
'name' => 'ask',
'url' => 'http://127.0.0.12/ask',
'ip' => '',
'viewprourl' => '',
'apifilename' => 'uc.php',
'charset' => '',
'dbcharset' => '',
'synlogin' => '1',
'recvnote' => '1',
'extra' => false,
'tagtemplates' => '',
'allowips' => '',
),
);
?>
=============================
上面的相关配置需要根据实际配置修改,这样问题就解决了;
教程地址:
欢迎转载!但请带上文章地址^^