设为首页 收藏本站
查看: 743|回复: 0

[经验分享] 个人PHP项目与Ucenter整合(一)

[复制链接]

尚未签到

发表于 2015-8-23 17:39:34 | 显示全部楼层 |阅读模式
  今天研究了一天我个人的php项目与ucenter用户中心整合,从一开始的悲催,到后来的柳暗花明,现在来总结下我整合的步骤先:我弄的是ucenter1.6的gbk
  1、先安装好你的个人项目和ucenter开源程序,设置虚拟的访问域名,假如我的项目访问地址为,http://my.ad.com   ucenter的访问地址为http://my.ucenter.com
  2、将你从官网上下载下来的ucenter源码解压缩出来的advanced\examples\api文件夹下的uc.php文件拷贝到你网站的根目录下的api文件夹中,若没有api则新建一个api文件夹(api文件夹一定要在网站的根目录中)
  2、将你从官网上下载下来的ucenter源码解压缩出来的advanced\examples文件夹下的include文件夹拷贝到你项目的根目录。文件夹内包含一个文件叫db_mysql.class.php,这是连接数据库的类。
  3、将uc_client文件夹整个复制到你网站根目录,uc_client之前说了是接口代码,现在根目录已经有include和uc_client两个文件夹了。
  4、复制advanced\examples文件夹内的config.inc.php到你网站的根目录,这是配置UCenter的配置文件。
  5、在ucenter后台中添加新应用,截图如下:


  通信密钥自己设置,越复杂愈好。点击提交后,会在提交按钮下方生成一段应用的UCenter配置信息,将这段配置信息拷贝到第2步提到的uc.php文件的最上方,如红色部分,
  代码如下:uc.php
  <?php
define('UC_CONNECT', 'mysql');
define('UC_DBHOST', 'localhost');
define('UC_DBUSER', 'root');
define('UC_DBPW', 'root');
define('UC_DBNAME', 'ucenter');
define('UC_DBCHARSET', 'gbk');
define('UC_DBTABLEPRE', '`ucenter`.uc_');
define('UC_DBCONNECT', '0');
define('UC_KEY', '1234567890');
define('UC_API', 'http://my.ucenter.com');
define('UC_CHARSET', 'gbk');
define('UC_IP', '');
define('UC_APPID', '1');
define('UC_PPP', '20');

define('IN_DISCUZ', TRUE);
define('UC_CLIENT_VERSION', '1.5.0');    //note UCenter 版本标识
define('UC_CLIENT_RELEASE', '20081031');
define('API_DELETEUSER', 1);        //note 用户删除 API 接口开关
define('API_RENAMEUSER', 1);        //note 用户改名 API 接口开关
define('API_GETTAG', 1);        //note 获取标签 API 接口开关
define('API_SYNLOGIN', 1);        //note 同步登录 API 接口开关
define('API_SYNLOGOUT', 1);        //note 同步登出 API 接口开关
define('API_UPDATEPW', 1);        //note 更改用户密码 开关
define('API_UPDATEBADWORDS', 1);    //note 更新关键字列表 开关
define('API_UPDATEHOSTS', 1);        //note 更新域名解析缓存 开关
define('API_UPDATEAPPS', 1);        //note 更新应用列表 开关
define('API_UPDATECLIENT', 1);        //note 更新客户端缓存 开关
define('API_UPDATECREDIT', 1);        //note 更新用户积分 开关
define('API_GETCREDITSETTINGS', 1);    //note 向 UCenter 提供积分设置 开关
define('API_GETCREDIT', 1);        //note 获取用户的某项积分 开关
define('API_UPDATECREDITSETTINGS', 1);    //note 更新应用积分设置 开关
define('API_RETURN_SUCCEED', '1');
define('API_RETURN_FAILED', '-1');
define('API_RETURN_FORBIDDEN', '-2');
  同时按照这段配置信息更改第4步中说的config.inc.php文件里面相应的参数,使其与ucenter生成的配置信息保持一致。
  代码如下:config.inc.php
  <?php
define('UC_CONNECT', 'mysql');   // 连接 UCenter 的方式: mysql/NULL, 默认为空时为 fscoketopen()
                                               // mysql 是直接连接的数据库, 为了效率, 建议采用 mysql
//数据库相关 (mysql 连接时, 并且没有设置 UC_DBLINK 时, 需要配置以下变量)
define('UC_DBHOST', 'localhost');            // UCenter 数据库主机
define('UC_DBUSER', 'root');                // UCenter 数据库用户名
define('UC_DBPW', 'root');                    // UCenter 数据库密码
define('UC_DBNAME', 'ucenter');                // UCenter 数据库名称
define('UC_DBCHARSET', 'gbk');                // UCenter 数据库字符集
define('UC_DBTABLEPRE', 'ucenter.uc_');            // UCenter 数据库表前缀
//通信相关
define('UC_KEY', '1234567890');                // 与 UCenter 的通信密钥, 要与 UCenter 保持一致
define('UC_API', 'http://my.ucenter.com');    // UCenter 的 URL 地址, 在调用头像时依赖此常量
define('UC_CHARSET', 'gbk');                // UCenter 的字符集
define('UC_IP', '');                    // UCenter 的 IP, 当 UC_CONNECT 为非 mysql 方式时, 并且当前应用服务器解析域名有问题时, 请设置此值
define('UC_APPID', 1);                    // 当前应用的 ID
define('UC_PPP', '20');
//ucexample_2.php 用到的应用程序数据库连接参数
$dbhost = 'localhost';            // 数据库服务器
$dbuser = 'root';            // 数据库用户名
$dbpw = 'root';                // 数据库密码
$dbname = 'ucenter';            // 数据库名
$pconnect = 0;                // 数据库持久连接 0=关闭, 1=打开
$tablepre = 'example_';           // 表名前缀, 同一数据库安装多个论坛请修改此处
$dbcharset = 'gbk';            // MySQL 字符集, 可选 'gbk', 'big5', 'utf8', 'latin1', 留空为按照论坛字符集设定
//同步登录 Cookie 设置
$cookiedomain = '';             // cookie 作用域
$cookiepath = '/';            // cookie 作用路径
  以上步骤弄完后,回头再去看看你的ucenter后台,更新下缓存,再瞅瞅应用管理里面,看是不是已经通信成功了呢??我想应该是的。因为我就是这样弄的。搞了半天,弄得头都快晕了,最后终于搞定。
  又一次体会到了:绝望过后就是希望。。。
  现在只是搞定了通信这块,接下来还要具体实施同步登陆和注册等。亲们,一起加油啊。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-103149-1-1.html 上篇帖子: web前端初识PHP(一) 下篇帖子: 从Asp.net转到Php之调试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表