在腾讯云的微信小程序-开发者工具方案中,开发环境和生产环境均为 wafer2 解决方案,且均为自动部署,当你已经在开发环境和生产环境都开发好并完成调试之后,又开通了 wafer 解决方案,那么问题来了,如何把开发者工具方案迁移到 wafer 解决方案?
问题1:
在开通 wafer 解决方案的时候,腾讯云已经做了初始化工作,有 client 和 server 端的 demo,但是 demo 均为 wafer1,如果 client 不变,使用之前调试好的开发者工具方案的代码,把 server 的代码上传覆盖至业务服务器的 /data/release/php-weapp-demo , 然后 client 请求 server 接口,会报错: SDK 配置文件(data/release/sdk.config.json)不存在。
解决办法:将 /etc/qcloud/sdk.config 复制过来
[业务服务器]
问题2:
配置文件 qcloud 配置信息缺失
解决办法:编辑 config.php 配置文件,增加 qcloud 相关配置
[业务服务器]
//'networkTimeout' => 30000 //这个配置已经在/data/release/sdk.config.json 中有了
问题3:
小程序客户端登录报错,鉴权服务调用失败:1007-WEIXIN_RETURN_ERR
解决办法:删除 Auth.php 第50行 的 isset($json_message['expires_in']
[会话服务器] 注意要登录到会话服务器修改
文件第50行修改为:
问题4:
Fatal error: Class 'PDO' not found
解决办法:Wafer2 数据库操作采用 PDO,业务服务器 PHP 环境可能不支持,需要重装一下
[业务服务器]
注意最后面的 php-simplexml,可以解决: Call to undefined function: simplexml_load_string()
要确保 SimpleXML 已经加载,相关函数用于微信支付接口,如果你的小程序涉及到微信支付的话
[业务服务器]
参考文档:
https://cloud.tencent.com/document/product/619/12797