网站地图    收藏   

主页 > 后端 > phpcmsv9 >

Phpcms v9 整合Discuz! X2.5 和UCenter 1.6.0详细图文教程

来源:自学PHP网    时间:2014-11-21 10:16 作者: 阅读:

[导读] 很多站长利用Phpcms v9搭建主站,然后用Discuz! X2.5搭建网站的论坛,这样一个网站就会有两个用户中心,分别是Phpcms v9 的phpsso和Discuz! X2.5的 UCenter。这就需要将两款程序进行整合,从而达...

很多站长利用Phpcms v9搭建主站,然后用Discuz! X2.5搭建网站的论坛,这样一个网站就会有两个用户中心,分别是Phpcms v9 的phpsso和Discuz! X2.5的 UCenter。这就需要将两款程序进行整合,从而达到同步注册、同步登录、同步退出的效果

本教程是以UCenter 为服务端,phpsso 与 Discuz! X2.5分别作 UCenter 的客户端应用。phpsso 与 Discuz! X2.5通过 UCenter 发生交互;而Phpcms v9 通过 phpsso 与 Discuz! X2.5发生交互。整合步骤如下:

  第一步:完全安装Phpcms v9 和 Discuz! X2.5的最新版

  小编是将Phpcms v9安装在根目录,然后在根目录新建一个bbs目录安装Discuz! X2.5,本教程中的路径是以此安装目录为例的,站长们操作时应该以自己实际情况更改路径。另小编制作测试本教程时使用的是最新版的程序,所以不保证所有版本按照本教程都能整合成功,建议将程序升级到最新版。

第二步:在 UCenter 中添加“phpsso 应用”

  登录Discuz! X2.5后台,进入“UCenter”,点击“应用管理”后点击“添加新应用”进入应用添加界面,设置如下:

  1、安装方式选择“自定义安装”

  2、应用类型选择“其他”

  3、应用名称填“phpsso”

  4、应用的主 URL, 即phpsso_server的路径,视实际情况而定,注意最后不要带斜杠。如本教程填写为http://127.0.0.1/phpsso_server

  5、通信密钥,任意填写64字节以内的英文字母及数字,不过要记住,因为phpcms 的通信密钥必须与此设置保持一致,否则 phpsso 将无法与 UCenter 正常通信。如本教程设置通信密钥为:chinaz

  6、应用IP、应用的物理路径、查看个人资料页面地址默认留空即可,而应用接口文件名称默认uc.php即可。

  7、标签单条显示模板、标签模板标记说明两项默认留空即可。

  8、是否开启同步登录:是。只有开启后,两款程序才能实现同步登录。

  9、完成后提交,将生成新的应用ID。(记住这个应用ID,在”第三步“中将用到它。)

  10、进入后台“站长”,“UCenter 设置”选项。"是否允许直接激活"一项,选择“是”。

  下面去Phpcms v9中配置phpsso。

  第三步:配置phpsso

  登录Phpcms v9后台,进入“phpsso”,点击“系统设置”,进入“UCenter配置”设置界面,设置如下:

  1、是否启用:是

  2、Ucenter api 地址,即uc_server的路径,根据你的安装情况而定,注意最后不要带斜杠。如本教程填写为:http://localhost/bbs/uc_server

  3、Ucenter 数据库信息:根据自己情况填写数据库的信息。其中数据库表前缀的格式为“`数据库名`.数据库前缀”,注意数据库名的不是单引号。

  4、应用id(APP ID),即第二步创建的 phpsso 应用时自动生成的应用ID。

  5、Ucenter 通信密钥,即第二步中设置的“通信密钥”,这两个值一定要确保一致,否则会导致无法通信。

  第四步:查看通信状态

  登录Discuz! X2.5后台,进入“UCenter”,点击“应用管理”查看第二步中创建的 phpsso 应用与 UCenter 通信是否成功。如果通信失败,请检查“第二步”与“第三步”中的各项参数配置是否正确。

  第五步:修改 Discuz!  X2.5会员登录相关。

  若不修改此处则在Phpcms v9登录后可以同步登录到Discuz!  X2.5,但是在Discuz!  X2.5登录却无法同步登录到Phpcms v9。修改步骤如下:

  1、找到discuz目录下 template\default\member\login.htm,删除

onsubmit="{if $this->setting['pwdsafety']}pwmd5('password3_$loginhash');{/if}pwdclear = 1;ajaxpost('loginform_$loginhash', 'returnmessage_$loginhash', 'returnmessage_$loginhash', 'onerror');return false;"

  2、找到discuz目录下 template\default\member\login_s imple.htm ,删除

onsubmit="{if $_G['setting']['pwdsafety']}pwmd5('ls_password');{/if}return lsSubmit();"

  3、找到discuz目录下 /source/function/function_message.php ,查找

$param['header'] = true;

  替换为

$param['header'] = false;

  第六步:整合完成

  小编整合到这就木有再做任何修改了,经测试完全实现了同步注册、同步登录、同步退出。只是因为程序的原因,在phpcms注册的账号是需要在Discuz登录一次之后才可以实现同步,这个是程序限制,没有办法解决的。另外发现不少站长整合后通信成功,但是出现注册和登录操作失败的问题,请注意第三步中数据库表前缀的格式。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论