【www.bbyears.com--今天更新】
今天整合了一下论坛discuz+问答系统tipask,按照官方后台操作配置了ucenter,实现的会员数据同步的功能
后来测试发现,只有从tipask(登录、注册)可以同步到discuz
从discuz登录确不能同步到tipask上面,于是在网上找了很多资料,也有很多网友出现了跟我一样的问题;都没有解决
实在没办法了,只能一点点的解读代码
发现uc_client下的client.php文件有这样一段话
====================================
$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的时候,这个文件并没有增加应用数,以前默认只有一个,下面那个应用是我手动加上了,
====================================
1 =>
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" => "",
),
);
?>
=============================
上面的相关配置需要根据实际配置修改,这样问题就解决了;