您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程

phpcmsv9和ecshop2.3.7以及discuzx3.0整合方法

易梦2025-06-06phpcms教程已有人查阅

导读小编是将Phpcms v9安装在根目录,然后在根目录新建一个bbs目录安装Discuz! X2.5,本教程中的路径是以此安装目录为例的,站长们操作时应该以自己实际情况更改路径。

第一步:完全安装Phpcms v9 和 Discuz! X3.0的较新版
小编是将Phpcms v9安装在根目录,然后在根目录新建一个bbs目录安装Discuz! X2.5,本教程中的路径是以此安装目录为例的,站长们操作时应该以自己实际情况更改路径。另小编制作测试本教程时使用的是较新版的程序,所以不保证所有版本按照本教程都能整合成功,建议将程序升级到较新版。
第二步:在 UCenter 中添加“phpsso 应用”
登录Discuz! X3.0后台,进入“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! X3.0后台,进入“UCenter”,点击“应用管理”查看第二步中创建的 phpsso 应用与 UCenter 通信是否成功。如果通信失败,请检查“第二步”与“第三步”中的各项参数配置是否正确。
第五步:修改 Discuz! X3.0会员登录相关。
若不修改此处则在Phpcms v9登录后可以同步登录到Discuz! X3.0,但是在Discuz! X3.0登录却无法同步登录到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;
第六步:安装ecshop 版本v2.7.3 release 20121106
1.把discuz X3.0程序包里面的uc_client整个文件夹拷贝一份到ecshop根目录下面,不需要拷贝uc_server。
2.登录ec后台,点击会员管理栏目的会员整合,在显示的页面中点击ucenter后面的安装按钮
3.在显示的窗口中输入ucenter的URL以及创始人密码(温馨提示:ucenter的URL就是dz程序包里面uc_server文件夹的绝对地址,ucenter创始人密码是安装dz过程中自己设置的)
4.这也是之后一步,点击下一步选择强制转为同一用户;
5.同时清除discuz、ucenter、ecshop、phpcms四个系统的缓存
解决 Ecshop 2.7.3 与 Discuz! X3.0 的同步退出问题
最近一个项目需要整合 Ecshop 和 Discuz。整合过程很简单,较新版的 Discuz! X2 已经自带了 uc_server 和 uc_client。由于主目录是 Ecshop,Discuz 放在 bbs 目录下,为了减少垃圾文件,我全局修改了 Ecshop 里关于 uc_client 的调用路径,改成了 discuz 里自带的,这样两个程序就共用一个 uc_client。
全部设置成接口调用方式后测试发现,两边登陆都可以同步登陆到另一程序上,但退出则无法实现同步登陆。顺着 Ecshop 的退出流程,顺藤mō瓜找到了 lib_common.php 文件中的 uc_call 这个方法。这个方法的第二个参数 $params 的默认值是 null。而 Ecshop 注销时只传了调用 uc_client 中同步退出方法名做为一个参数的值,第二个参数使用的是默认值。而这个方法中通过
call_user_func_array($func, $params); 
来调用对应的方法,问题就在这,第二个 $params 参数如果是 null 则 call_user_func_array 执行失败。解决办法很简单,修改 Ecshop 里 lib_common.php 中
function uc_call($func, $params=null) 这一行改成 function uc_call($func, $params=array()) 
即可。整合完成

本文标签:

很赞哦! ()

相关源码

  • pbootcms(自适应)SEO优化排名服务公司网站模板核心定位为SEO排名服务商打造的营销型网站框架,集成PbootCMS开源系统的高效管理能力与SEO最佳实践方案,助力企业快速建立专业的技术服务形象。查看源码
  • pbootcms网站模板响应式全屏旅游景区网站源码本模板为风景民宿、旅游景区等企业设计,基于PbootCMS内核开发,具备响应式布局与专业SEO优化功能,助力企业低成本高效获客。以下是核心特点:查看源码
  • (自适应)证书授权书防伪查询系统pbootcms模板本模板基于PbootCMS系统开发,为各类证书查询机构设计,可快速构建高效安全的证书核验平台。采用响应式布局技术,自动适配手机端操作,支持批量导入证书数据,提供便捷的查询接口,满足机构证书管理及用户在线核验需求。查看源码
  • 自适应容器设备机械行业通用pbootcms网站模板本模板是一款基于PbootCMS开源内核深度开发,为容器制造、容器设备、压力容器及相关行业量身打造的高品质响应式企业网站模板。查看源码
  • (自适应响应式)高端家用办公家具家居桌椅pbootcms模板下载为办公家具企业设计的响应式网站模板,涵盖产品展示、案例呈现、企业介绍等核心模块。通过可视化后台可快速发布实木桌椅、系统家具、办公屏风等产品信息,帮助客户直观了解材质参数与空间搭配方案。查看源码
  • (自适应响应式)英文外贸医疗科研耗材设备pbootcms网站模板为医疗设备和外贸企业设计的响应式网站模板,基于PbootCMS系统开发。突出医疗产品认证展示和国际化特性,通过专业化的产品参数展示模块和文档管理系统,满足医疗行业严格的信息披露要求。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐