
步骤1: 完全安装Phpcms v9和最新版本的Discuz! X3.0
小编是在根目录中安装Phpcms v9,然后在根目录中创建一个新的bbs目录以安装Discuz! X2.5. 本教程中的路径以该安装目录为例. 自己更改路径. 另一个编辑器使用程序的最新版本来测试本教程. 因此,我们不保证可以根据本教程成功集成所有版本. 建议将该程序升级到最新版本.
第2步: 在UCenter中添加“ phpsso应用程序”
登录Discuz!在X3.0的背景下,输入“ UCenter”,单击“应用程序管理”,然后单击“添加新应用程序”,进入应用程序添加界面,设置如下:

1. 选择“自定义安装”作为安装方法
2,选择“其他”作为应用程序类型

3,填写“ phpsso”作为应用程序名称
4. 应用程序的主URL(即phpsso_server的路径)取决于实际情况. 注意不要在末尾加斜杠. 填写完本教程后
5. 通信密钥,请填写64个字节内的所有英文字母和数字,但请记住,因为phpcms的通信密钥必须与此设置一致,否则phpsso将无法正常与UCenter通信. 就像本教程一样ucenter ecshop通信失败,通信密钥设置为: chinaz
6. 默认情况下,应用程序IP,应用程序的物理路径和用于查看配置文件页面的地址可以保留为空白,并且应用程序接口文件名可以默认为uc.php.
7. 默认情况下,标签单一显示模板和标签模板标签说明都为空.
8. 是否启用同步登录: 是. 只有打开后,这两个程序才能实现同步登录.
9. 提交后ucenter ecshop通信失败,将生成一个新的应用程序ID. (记住此应用程序ID,您将在第三步中使用它. )

10. 在后台输入“网站管理员”和“ UCenter设置”选项. 选择“启用直接激活”,然后选择“是”.
现在转到Phpcms v9来配置phpsso.
第3步: 配置phpsso
登录Phpcms v9后台,输入“ phpsso”,单击“系统设置”,进入“ UCenter配置”设置界面,设置如下:

1. 是否启用: 是
2. Ucenter api地址(即uc_server的路径)取决于您的安装. 注意不要在末尾加斜杠. 如果填写了本教程:

3. Ucenter信息: 根据您自己的情况填写信息. 表前缀的格式为```名称. 前缀''. 请注意,名称不是单引号.
4. 应用程序ID(APP ID),即在第二步中创建phpsso应用程序时自动生成的应用程序ID.
5. Ucenter通讯密钥,即第二步中设置的“通讯密钥”. 这两个值必须一致,否则通讯将失败.
第4步: 查看通讯状态
登录Discuz!在X3.0背景下,输入“ UCenter”,然后单击“应用程序管理”以查看在第二步中创建的phpsso应用程序是否与UCenter成功通信. 如果通讯失败,请检查“步骤2”和“步骤3”中的参数配置是否正确.

第5步: 修改Discuz!与X3.0会员登录有关.

如果未在此处进行修改,则可以登录Discuz!登录Phpcms v9后使用X3.0,但登录Discuz时无法登录Phpcms v9! X3.0. 修改步骤如下:
1. 在discuz目录中找到模板\ 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目录中找到模板\ 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和Discuz. 集成过程非常简单,是最新版本的Discuz! X2已经随附uc_server和uc_client. 由于主目录是Ecshop,因此Discuz放置在bbs目录中. 为了减少垃圾文件,我在Ecshop中全局修改了uc_client的调用路径,并将其更改为discuz,以便两个程序共享一个uc_client.
全部设置为接口调用模式后,测试发现双方可以同步登录到另一个程序,但无法注销. 在Ecshop退出过程之后,Shun Teng在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中的functionuc_call($ func,$ params = null)行修改为functionuc_call($ func,$ params = array()).
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-151036-1.html
活该