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 { //開源軟件:Vevb.com
- $return = '';
- }
- }
- return $return;
- }
上面意思是只有應用數大于一才會執行其他同步操作,于是去找了一下/data/cache/apps.php這個文件發現了問題;
默認配置好tipask+discuz的時候,這個文件并沒有增加應用數,以前默認只有一個,下面那個應用是我手動加上了,代碼如下:
- <?php
- $_CACHE['apps'] = array (
- 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' => '',
- ),
- );
- ?>
上面的相關配置需要根據實際配置修改,這樣問題就解決了.
新聞熱點
疑難解答