Thinkphp整合Discuz_X3.2,无法正常调用Ucenter函数
来源:互联网 发布:unity3d控制物体旋转 编辑:程序博客网 时间:2024/05/17 14:29
本人是新手,在Thinkphp 整合Discuz_3.2时,调用UCenter的函数时,怎么也无法成功,折腾了好久,终于成功了,在这里记录一下。
环境:Thinkphp3.1+Discuz_X3.2
public function mylogin(){ include '/bbs/uc_server/data/config.inc.php'; include '/bbs/uc_client/client.php'; $tc = uc_get_user('admin'); dump($tc); }就是这段简单的测试调用UCenter函数时,输出总是为空,无法正常调用函数,而且没有任何错误提示。UCenter的通信是正常的,而且相应的用户数据也已经正常的添加到了UCenter的数据表当中。
这个问题的解决方法主要是以下几步:
1、解决传说的Discuz中db类base类与Thinkphp中的同名冲突问题,可以具体参看这个解决方法:http://wenku.baidu.com/view/120ea8e9551810a6f5248601.html。因为3.2的Discuz已经对db类进行了重命名,实际上只要解决base类的重名问题就可以了。
2、根据client.php中的函数源码:
function uc_get_user($username, $isuid=0) {$return = call_user_func(UC_API_FUNC, 'user', 'get_user', array('username'=>$username, 'isuid'=>$isuid));return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return);}
以及
define('UC_API_FUNC', UC_CONNECT == 'mysql' ? 'uc_api_mysql' : 'uc_api_post');uc_get_user这个函数实际上是根据参数调用uc_api_mysql或者uc_api_post这两个函数(这两个函数的区别好像是:mysql适合于Discuz和Thinkphp在同一个服务器下的情况,而post适合于不同的服务器,而且post的效率相对要慢一些),而具体调用哪一个是在config.inc.php配置文件中设置的。在我的环境下,测试出实际调用的是post,因此改用mysql那个函数尝试。而在我的config.inc.php中并没有设置这个值,只是在config_ucenter.php制定了这个值,因此将config_ucenter.php中的”define('UC_CONNECT', 'mysql');”这行代码复制到config.inc.php当中,这样改完终于可以看到错误了!错误提示如下:
UCenter info: MySQL Query ErrorSQL:SELECT value FROM [Table]vars WHERE name='noteexistsUC_APPID'Error:No database selectedErrno:1046百度了一下,这个问题的解决方法是:更改config.inc.php中的“define('UC_DBTABLEPRE', 'pre_ucenter_');”这行代码为:“define('UC_DBTABLEPRE', '`travel`.pre_ucenter_');”,其中“travel”是具体你的数据库的名称。这样修改完以后终于可以看到正常的调用结果了!!!!
0 0
- Thinkphp整合Discuz_X3.2,无法正常调用Ucenter函数
- ucenter thinkphp 整合
- ucenter与thinkphp的整合
- ThinkPHP与UCenter整合详解
- ThinkPHP与UCenter整合详解
- ThinkPHP与UCenter整合详解
- ThinkPHP与UCenter整合详解
- ThinkPHP与UCenter整合详解
- Thinkphp整合ucenter同步登录注册退出
- thinkphp无法正常使用frameset
- ucenter同步问题(整合iwebshop或者thinkphp)
- ThinkPHP与UCenter整合时头象上传错误的解决
- ucenter同步问题(整合iwebshop或者thinkphp)
- ucenter同步问题(整合iwebshop或者thinkphp)
- 整合ucenter
- 记一次thinkphp传到主机 路径无法正常调用的问题
- Discuz_X3.2_SC_UTF8---论坛迁移
- STM32 C/C++ uCOSII 函数调用return 无法返回或者函数无法正常反回上一层函数的问题
- Struts2 学习历程(1)
- Win7+硬盘安装Ubuntu详细教程
- Send a Table
- osx下用phonegap搭建ios和android打包服务
- Compare Version Numbers
- Thinkphp整合Discuz_X3.2,无法正常调用Ucenter函数
- 初始体验CocoaPods---使用CocoaPods管理第三方开源类库
- Linux查看非root运行的进程
- Wrong number of indexes `1' inside [], expected `2'
- hdu 4416 Good Article Good sentence (后缀数组)
- 控制执行流程
- php读取百度天气API Json数据
- 程序员事先仔细调查和了解你想去的公司特别重要
- 阿里云ECS安全防护小记