当前位置:首页 > CMS教程 > UCenter > 列表

ucenter整理tipask问答系统与discuz单项同步问题解决方法

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-04 17:11:03 浏览: 评论:0 

UCenter是Comsenz旗下各个产品之间信息直接传递的一个桥梁,通过UCenter 站长可以无缝整合Comsenz系列产品,实现用户的一站式登录以及社区其他数据的交互,但很多站长在使用它时会碰到一些问题了,下文就ucenter整理tipask问答系统与discuz单项同步问题解决方法.

整合了一下论坛discuz+问答系统tipask,按照官方后台操作配置了ucenter,实现的会员数据同步的功能,后来测试发现,只有从tipask(登录、注册)可以同步到discuz.

从discuz登录确不能同步到tipask上面,于是在网上找了很多资料,也有很多网友出现了跟我一样的问题,都没有解决.

实在没办法了,只能一点点的解读代码,发现uc_client下的client.php文件有这样一段代码:

  1. function uc_user_synlogin($uid) { 
  2.     $uid = intval($uid); 
  3.     if(@include UC_ROOT.'./data/cache/apps.php') { 
  4.         if(count($_CACHE['apps']) > 1) { 
  5.             $return = uc_api_post('user''synlogin'array('uid'=>$uid)); 
  6.         } else {  //开源软件:phpfensi.com 
  7.             $return = ''
  8.         } 
  9.     } 
  10.     return $return

上面意思是只有应用数大于一才会执行其他同步操作,于是去找了一下/data/cache/apps.php这个文件发现了问题;

默认配置好tipask+discuz的时候,这个文件并没有增加应用数,以前默认只有一个,下面那个应用是我手动加上了,代码如下:

  1. <?php 
  2. $_CACHE['apps'] = array ( 
  3.   1 =>  
  4.   array ( 
  5.     'appid' => '1'
  6.     'type' => 'DISCUZX'
  7.     'name' => 'Discuz! Board'
  8.     'url' => 'http://127.0.0.12'
  9.     'ip' => ''
  10.     'viewprourl' => ''
  11.     'apifilename' => 'uc.php'
  12.     'charset' => ''
  13.     'dbcharset' => ''
  14.     'synlogin' => '1'
  15.     'recvnote' => '1'
  16.     'extra' => false, 
  17.     'tagtemplates' => ''
  18.     'allowips' => ''
  19.   ), 
  20.   2 =>  
  21.   array ( 
  22.     'appid' => '2'
  23.     'type' => 'OTHER'
  24.     'name' => 'ask'
  25.     'url' => 'http://127.0.0.12/ask'
  26.     'ip' => ''
  27.     'viewprourl' => ''
  28.     'apifilename' => 'uc.php'
  29.     'charset' => ''
  30.     'dbcharset' => ''
  31.     'synlogin' => '1'
  32.     'recvnote' => '1'
  33.     'extra' => false, 
  34.     'tagtemplates' => ''
  35.     'allowips' => '',     
  36.   ),   
  37. ); 
  38. ?> 

上面的相关配置需要根据实际配置修改,这样问题就解决了.

Tags: ucenter tipask discuz

分享到: