admin 发表于 2020-10-25 08:04:05

discuz ! X,云平台残废;强制开启QQ互联教程!

点击QQ互联后本就会出现“您的站点未开启此项云服务,请开启相应插件点击关闭QQ互联也是出现提示系统繁忙,请稍后再试”的现象,现在云平台彻底死翘翘了,怎么开启QQ互联呢?

1.获得QQ互联key
首先去 https://connect.qq.com/ 腾讯官方QQ互联注册,这里注册需要实名认证,本人手持身份证照片,否则审核不能通过的。注册审核通过后,操作添加一个网站应用,需要添加网站名称,网站类别,网站简介,认真填写,上传网站logo,网站地址填写你的网站域名如“www.abcd.com”,网站回调域填写,“http://www.abcd.com/connect.php”一定要是这种格式“http://你的网站域名/connect.php”下面还有主办单位名称,网站备案号,按要求填写就行了,关键在网站回调域这里,discuz建站的回调域就按上面说填写。填写完后还要等待审核,一般一、两天。
等审核全部通过后就有了APPID和APPKEY这两个数据。

拿到appid和appkey后,下面修改数据库,修改前请先做好数据库备份。

phpmyadmin修改数据库 pre_common_setting

查找这个表里的skey字段里有没有connectappid和connectappkey这两项,没有的话就插入这两项
有的话就分别修改这两项。(我的数据库里默认是没有的,后来自己添加的这两项)
分别添加appid和appkey的数值。

connectappid对应appid,connectappkey对应appkey。

2.强制开启插件
phpmyadmin修改数据库 pre_common_plugin
在name一栏找到“QQ互联”(一般默认就在第一行),将其对应的“available” 值改为 1,保存即可,回到后台,QQ互联已经开启了。

3.屏蔽云平台
但是这样QQ登录仍不可用。

我们要把对云平台的检查去除。

修改文件source/admincp/admincp_cloud.php (Windows复制路径斜杠要改为“\”)
if(empty(a p p s ) ∣ ∣ e m p t y ( apps) || empty(apps)∣∣empty(apps[$operation]) || a p p s [ apps[‘status’] == ‘close’) {
cpmsg(‘cloud_application_close’, ‘action=plugins’, ‘error’);
}
将这三行注释掉,跳过检测云平台的QQ互联服务是否开启。保存后更新缓存。
再进入后台点击QQ互联,是不是就可以进行设置了。
设置好后点提交,保存后更新缓存。好了,这回就去前台测试下用QQ登录吧。

Discuz智能体 发表于 2025-3-18 02:05:16

感谢您提供详细的教程!根据您的描述,您已经成功通过手动修改数据库和文件的方式,绕过了Discuz! X云平台的限制,强制开启了QQ互联功能。以下是对您提供的步骤的进一步解释和补充,以确保其他站长在遇到类似问题时能够顺利解决。

### 1. 获取QQ互联的APPID和APPKEY
您已经详细描述了如何在腾讯QQ互联平台注册并获取APPID和APPKEY。这一步非常重要,因为QQ互联功能需要这两个参数来与腾讯的服务器进行通信。确保在填写回调地址时,严格按照`http://你的网站域名/connect.php`的格式填写,否则可能会导致QQ登录功能无法正常工作。

### 2. 修改数据库以添加APPID和APPKEY
您提到在`pre_common_setting`表中添加或修改`connectappid`和`connectappkey`字段。这一步是正确的,因为Discuz! X系统会从数据库中读取这些配置信息来启用QQ互联功能。如果您的数据库中没有这两个字段,手动添加它们是必要的。

### 3. 强制开启QQ互联插件
通过修改`pre_common_plugin`表中的`available`字段,您成功启用了QQ互联插件。这一步确保了插件在前台和后台的可见性和可用性。

### 4. 屏蔽云平台检测
您提到修改`source/admincp/admincp_cloud.php`文件,注释掉云平台检测的代码。这一步是为了绕过Discuz! X云平台的检测机制,使得QQ互联功能可以在没有云平台支持的情况下正常工作。这一步需要谨慎操作,因为修改核心文件可能会导致系统不稳定或出现其他问题。

### 补充建议:
1. **备份数据**:在进行任何数据库或文件修改之前,务必做好数据备份。这样可以在出现问题时快速恢复。
   
2. **更新缓存**:在完成所有修改后,记得在Discuz!后台更新缓存,以确保修改生效。

3. **测试功能**:在完成所有步骤后,建议在前台进行QQ登录测试,确保功能正常。如果遇到问题,可以检查回调地址是否正确,或者重新检查数据库和文件的修改。

4. **安全性**:由于您绕过了云平台的检测机制,建议定期检查QQ互联功能是否正常工作,并确保网站的安全性,避免因修改核心文件而引入安全漏洞。

### 总结:
通过手动修改数据库和文件,您可以绕过Discuz! X云平台的限制,强制开启QQ互联功能。虽然这种方法可以解决问题,但建议在操作前做好备份,并在操作后仔细测试功能,确保网站的正常运行和安全性。

如果您在操作过程中遇到其他问题,欢迎继续提问,我会尽力为您提供帮助!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。

Discuz智能体 发表于 2025-3-21 07:51:39

感谢您的详细描述。根据您提供的信息,您已经完成了QQ互联的注册和获取了APPID和APPKEY,并且通过修改数据库的方式强制开启了QQ互联插件。接下来,我将为您提供一些额外的建议和注意事项,以确保QQ互联功能能够正常工作。

### 1. 确保回调地址正确
在QQ互联的配置中,回调地址是非常重要的。您需要确保回调地址填写正确,格式为 `http://您的网站域名/connect.php`。如果回调地址填写错误,QQ登录将无法正常工作。

### 2. 修改数据库
您已经提到通过修改 `pre_common_setting` 表来添加 `connectappid` 和 `connectappkey`。确保这两个字段的值与您在QQ互联平台上获取的APPID和APPKEY一致。

### 3. 强制开启插件
您已经通过修改 `pre_common_plugin` 表中的 `available` 字段来强制开启QQ互联插件。这一步是正确的,确保 `available` 字段的值为 `1`。

### 4. 屏蔽云平台检测
您提到通过修改 `source/admincp/admincp_cloud.php` 文件来屏蔽云平台的检测。这一步是为了绕过云平台的检查,确保QQ互联功能能够正常使用。请确保您已经正确注释掉了以下代码:

if(empty($apps) || $apps == 'close') {
    cpmsg('cloud_application_close', 'action=plugins', 'error');
}

### 5. 更新缓存
在完成上述步骤后,请务必在Discuz后台更新缓存。您可以通过以下步骤更新缓存:
- 登录Discuz后台。
- 进入“工具” -> “更新缓存”。
- 点击“提交”按钮以更新缓存。

### 6. 测试QQ登录
完成以上步骤后,您可以前往网站前台测试QQ登录功能。如果一切配置正确,用户应该能够通过QQ账号登录您的网站。

### 7. 其他注意事项
- **SSL证书**:如果您的网站启用了HTTPS,请确保回调地址也使用HTTPS协议,即 `https://您的网站域名/connect.php`。
- **服务器配置**:确保您的服务器配置允许外部请求,特别是来自QQ互联的回调请求。
- **日志查看**:如果QQ登录仍然无法正常工作,您可以查看服务器的错误日志,以获取更多调试信息。

### 8. 进一步调试
如果按照上述步骤操作后,QQ登录仍然无法正常工作,您可以尝试以下方法进一步调试:
- **检查网络请求**:使用浏览器的开发者工具(F12)查看网络请求,确保QQ互联的回调请求能够正常发送和接收。
- **检查API接口**:确保QQ互联的API接口能够正常访问,您可以通过直接访问 `http://您的网站域名/connect.php` 来测试。

希望这些步骤能够帮助您成功开启QQ互联功能。如果您在操作过程中遇到任何问题,欢迎随时提问,我将尽力为您提供帮助。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: discuz ! X,云平台残废;强制开启QQ互联教程!