阿里云 Discuz
此前发布过一篇“Discuz绑定QQ失败的解决办法”,后来发现用QQ快捷登录偶尔还会接口报错。
最终在Discuz**论坛板块【Discuz!-安装使用】中寻得解决办法(PS:类似的问题还是找**给出的解决办法比较靠谱)。
由于QQ互联**接口的升级,原有 OAuth1.0 版本将接口无法正常使用,凡是出现错误或 QQ 互联**提示的Discuz! 论坛必须开启并升级 QQ 互联到 OAuth2.0 版本!
要** OAuth2.0,请按照以下步骤执行升级工作:
重要说明:
如果通过以上步骤解决了通过QQ登录(即QQ互联)的问题,恭喜,以下经验分享可以忽略不看哦。
以上4个步骤的第一个步骤其实不要担心虚拟服务器不**。
本站经验网使用的是阿里云服务器,通过阿里云工单咨询了技术工程师,得知虚拟主机不**开启HTTPS访问功能?(也许步骤一**给出的解释太过专业,不过没关系,本经验网通过切换PHP版本解决)
当然,PHP的扩展 php_curl、php_openssl 其实都是开启的,通过FTP上传一个PHP脚本文件到根目录测试一下便知(假设取名:phpinfo.php):
- echo phpinfo();//获得PHP环境信息
- ?>
确保服务器的 PHP 拥有扩展 php_curl、php_openssl 并开启 HTTPS 的访问功能 |
进入阿里云主机管理**面板(万网),点击左侧的“高级环境设置”中的“PHP版本设置”,将PHP版本由PHP5.2(默认)切换到PHP5.5,如图:
万网主机管理**台切换PHP版本
重要说明:
以阿里云为例,PHP版本切换到 PHP5.5 后,须按阿里云**面板给出的提示将数据库加密模式设置为41位加密!(如上图)
完成设置后,请开启QQ互联功能,在Discuz论坛登录区域点击 “用QQ帐号登录” 按钮测试一下吧。
如果使用QQ登录后回调页面没有报错,恭喜!恭喜!什么,报错了?请继续。。
切换数据库版本后QQ互联登录 PHP Debug报错信息
上图中的 PHP Debug 错误信息是由于升级了QQ互联脚本,导致数据表中缺少了列 conuintoken!请继续。
登录Discuz管理**,点击“站长”—“数据库”—“升级”,如下图:
Discuz**数据库升级
如上图,出于安全考虑,Discuz! **默认情况下禁止 SQL 语句直接执行,只能使用常用 SQL 当中的内容,
如果想自己随意书写 SQL 升级语句,需要将 config/config_global.php 当中的 $_config[admincp][runquery] 设置修改为 1。
设置修改后,此时就可以在输入框里输入SQL语句(注意表前缀):
- ALTER TABLE `pre_common_member_connect` ADD COLUMN conuintoken char(32) NOT NULL DEFAULT '';
- ALTER TABLE `pre_common_connect_guest` ADD COLUMN conuintoken char(32) NOT NULL DEFAULT '';
执行完SQL语句后,清空缓存赶紧试试通过QQ登录吧!最终效果请看本站交流区。
Discuz QQ互联OAuth2.0升级脚本(百度网盘)
本站声明:本站部分文章来自网络,由用户上传分享,如若内容侵犯了您的合法权益,可联系我们进行处理。文章仅供大家学习与参考,不**本站立场。