第一步,进入discuz后台,点击UCenter菜单,然后点击应用管理,接着点击右侧的添加新应用按钮然后填写应用相关信息: 1、应用类型选择“其他” 2、应该名称填写“phpcms” //此处可以自己定义名称 3、应用的主URL填 http://你的域名/phpsso_server //我的是http://localhost/hi0556/phpsso_server 4、通讯密钥现在不填写,保存的时候会自动生成,后面会用到此密钥 5、是否开启同步登录选择“是” 6、是否接受通知选择“是”接着点击提交,此时看到应用列表,但是通讯状态是失败解决办法,进入第二步操作。第二步,登录phpcms的phpsso ――>系统设置――>UCenter配置API地址可以在DZ――->站长――>UCenter设置中查看数据库信息按照你的实际情况进行填写,数据库密码不能为空哦,否则测试会失败的!!!!UCenter表前缀不能直接写表名前缀,必须使用格式为:`数据库名`.表名前缀提交后进DZ的应用列表可以看到新增的应用通信成功了!第三步,你会发现以下几种情况:1) phpcms登录的用户可以同步到discuz2) phpcms退出时无法同步到discuz3) discuz登录无法同步到phpcms4) discuz退出无法同步到phpcms解决办法:Phpcms退出无法同步到discuz的原因是由于phpcms\phpsso_server\phpcms\modules\phpsso \classes\ phpsso.class.php文件中的__construct函数解析出post[data]为空情况下直接exit操作导致Javascript语 句无法输出,简单做法是注释掉exit即可通过以上操作就可以使用phpcms退出能够同步到discuz了第四步,处理discuz登录无法同步到phpcms的情况 Discuz登录无法同步到phpcms Discuz退出无法同步到phpcms解决办法:修改discuz的登录代码1、 修改 template\default\member\login.htm 第 40行 行,删除οnsubmit="{if $this->setting['pwdsafety']}pwmd5('password3_$loginhash');{/if}pwdclear = 1;ajaxpost('loginform_$loginhash', 'returnmessage_$loginhash', 'returnmessage_$loginhash', 'onerror');return false;"2、 修改 template\default\member\login_s imple.htm 第 3 行,删除οnsubmit="return lsSubmit()"3、 修改 /source/function/function_message.php 第 78 行,查找$param['header'] = true;替换为:$param['header'] = false;找到DZ文件夹下的uc_client\data\cache\apps.php,找到该文件下是否存在我们新增的应用phpcms,如果不存在,则需要新增,复制uc_server\data\cache\apps.php中的项目信息数组到该文件中2 => array ( 'appid' => '2', 'type' => 'OTHER', 'name' => 'phpcms', 'url' => 'http://localhost/hi0556/phpsso_server', 'authkey' => 'a97cvX78Rg/OtVswGhVBXxa7MUcyWgI4aZghoUI', 'ip' => '', 'viewprourl' => '', 'apifilename' => 'uc.php', 'charset' => '', 'dbcharset' => '', 'synlogin' => '1', 'recvnote' => '1', 'extra' => array ( 'apppath' => '', 'extraurl' => array ( ), ), 'tagtemplates' => '', 'allowips' => '', ),Phpcms注册的会有在第一次登录discuz时需要激活一次,这问题可以在discuz后台里面解决:Discuz后台――>站长――>UCenter设置,拉到最后有个“是否允许其他应用的会有在站点激活”和“是否允许直接激活”,两个都选择“是”然后提交,即可解决此问题