Open ITJaye opened 7 years ago
这个大佬在sdk.config里面对tunnelserver是对的,官方默认设置是有问题的 正确的是 "tunnelServerUrl": "https://ws.qcloud.com", 官方的是 "tunnelServerUrl": "https://ws.qcloud.com/", 自己好好体会一下吧
@xiaoyun94 谢谢提醒,Wiki 已经更正过来了
感谢 @ITJaye ,真是干货资料
@techird @ITJaye 请问这是什么原因引起的呢?
调用鉴权服务失败:#1012 - NO_APPID
我的小程序未认证,是这个原因引起的吗?
腾讯云服务内存持久化存储(CMEM)CMEM服务介绍
要购买cmem才行咯,云缓存Memcached
费劲啊。。。中间搞个授权服务器也是醉了
@ITJaye 看看我上面的问题怎么解决
这个是不是已经过期了?现在2017-4-18 23:07:00,我刚部署了一套,发现代码和楼主说的不一样
很奇怪,长链接为什么不用wss,而是用https
唉……基础比较差……高了两天,没搞出来……唉……
@edwardguo 同样的问题。请问你的已经解决掉了吗?
@yujianchi @edwardguo http://www.wxapp-union.com/article-1912-1.html
我的为什么总,签名错误吗? 求大神帮助,指教! { "serverHost": "1111.qcloud.la", "authServerUrl": "http://192.168.1.101:8002/mina_auth", "tunnelServerUrl": "https://ws.qcloud.com", "tunnelSignatureKey": "ddddd ", "networkTimeout": 30000 }
报错如下:
Severity: Notice
Message: Undefined index: signature
Filename: Tunnel/TunnelService.php
Line Number: 94
Backtrace:
File: /home/songaimin/www/cs-server/vendor/qcloud/weapp-sdk/lib/Tunnel/TunnelService.php
Line: 94
Function: _error_handler
File: /home/songaimin/www/cs-server/vendor/qcloud/weapp-sdk/lib/Tunnel/TunnelService.php
Line: 17
Function: handleGet
File: /home/songaimin/www/cs-server/application/controllers/Tunnel.php
Line: 11
Function: handle
File: /home/songaimin/www/cs-server/index.php
Line: 328
Function: require_once
File: /home/songaimin/www/cs-server/webServer.php
Line: 17
Function: require_once
Severity: Notice
Message: Array to string conversion
Filename: Tunnel/Signature.php
Line Number: 11
Backtrace:
File: /home/songaimin/www/cs-server/vendor/qcloud/weapp-sdk/lib/Tunnel/Signature.php
Line: 11
Function: _error_handler
File: /home/songaimin/www/cs-server/vendor/qcloud/weapp-sdk/lib/Tunnel/Signature.php
Line: 23
Function: compute
File: /home/songaimin/www/cs-server/vendor/qcloud/weapp-sdk/lib/Tunnel/TunnelService.php
Line: 97
Function: check
File: /home/songaimin/www/cs-server/vendor/qcloud/weapp-sdk/lib/Tunnel/TunnelService.php
Line: 17
Function: handleGet
File: /home/songaimin/www/cs-server/application/controllers/Tunnel.php
Line: 11
Function: handle
File: /home/songaimin/www/cs-server/index.php
Line: 328
Function: require_once
File: /home/songaimin/www/cs-server/webServer.php
Line: 17
Function: require_once
{"error":"签名校验失败"}可以绕过,但是还是无法发送信息。 TunnelService.php 95行,加判定绕过,代码如下: if (@$body['signature']) { $signature = $body['signature'];
// 校验签名
if (!Signature::check($data, $signature)) {
throw new Exception('签名校验失败');
}
$data = json_decode($data, TRUE);
}
@zhaodifangsi 如果你用的免费开放版,免费版本缺少签名参数,并且发送的格式有问题,比如发送的是JSON OBJECT但实际应该是JSON STRING。我这里有一个信道服务器DEMO, 不过是JAVA的,爱折腾可以看看
appid 都不用设置吗?
最新版变动较大,正在尝试中
自行部署 Wafer 的一点心得
一、准备工作
服务器:服务器环境centOS 6.8 + php7 + nginx/1.9.10
wafer SDK代码,以官方demo为例 下载
提供会话服务的代码 下载
客户端小程序demo代码 下载
二、配置文件
1. 配置以支持https访问
如何配置免费的https,自行百度
2. 配置wafer的SDK配置文件sdk.config
新建个文本文件粘贴如下代码:
将文件保存为sdk.config并上传到/etc/qcloud/sdk.config (需要在/etc/下面自己创建下qcloud这个目录)
3. 配置会话服务调用的数据库连接配置文
上线前需要在服务器如下配置
a.在数据库中创建cAuth数据库并导入根目录下的mina_auth/db.sql
b.修改wafer-session-server/system/db/db.ini代码
4. 配置小程序管理平台
登陆微信小程序管理平台https://mp.weixin.qq.com/ 在 『设置』-『开发设置』 里添加如下url
wss://ws.qcloud.com、https://ws.qcloud.com
5. 配置客户端代码
修改下客户端demo中的/config.js的host为你的业务服务器上wafer SDK地址
6. 配置wafer-php-server-demo
针对 wafer-php-server-demo代码,记得先在该文件夹下执行composer install操作来安装wafer SDK
需要分配配置下SDK本身所采用的CI框架来支持伪静态,隐藏index.php
修改代码中application/config/config.php里的配置 修改26行为
修改38行为
同时,在Nginx服务器的配置文件中增加如下设置以支持ci框架的伪静态
三、上传代码
在服务器上web根目录下创建一个文件夹,我的文件夹名为itjaye,把上面wafer-php-server-demo文件夹和wafer-session-server文件夹上传到该文件夹下即可。
四、其他问题
针对会话服务由于是php7 需要如下修改,
mysql 的函数换成mysqli支持,修改方法可以参考
采用function __construct 构造函数来替换和类名相同的函数名
五、参考资料
有疑问的可以加官方qq群交流 216602757