PHP开发PHP经验分享

Fastadmin Shopro 从零部署,搭建过程

2021-03-14  本文已影响0人  小巨蛋资源

介绍

主要是记录一下部署流程,以便后续需要重新部署的时候快速部署不用踩坑,如果部署中有新坑可咨询作者QQ3104710541,记录常见问题我会第一时间进行修改补充

环境

安装

宝塔面板

打开宝塔官方网站,选择安装 linux

图片.png 图片.png

部署站点

1. 创建站点
图片.png
2. 设置站点
3. fastadmin安装
图片.png
4. 配置站点运行目录
图片.png
5. 开始安装fastadmin

访问 http://{域名}/install.php, 设置好数据库账号密码, 管理员账号密码

6. 配置站点ssl证书
图片.png

7. 安装shopro插件

开发环境下打开debug随时定位问题

图片.png
1. 进入后台管理-插件管理-安装shopro
图片.png
2. 安装新版PHP微信扩展包
$ composer remove overtrue/wechat
$ composer require "overtrue/wechat:^4.2" -vvv
$ composer update
3. 商城配置

根据官方文档配置,点此

前端部署

1. 安装HbuilderX
2. 下载前端代码包到本地
图片.png
3. 在 HbuilderX 打开
图片.png
4. 点击顶部菜单运行->运行到浏览器-> chrome 【H5 运行为例】
图片.png

此问题是未安装前端依赖包

使用 HbuilderX 终端(或者任意熟悉的终端,需要进入前端代码目录), 执行 npm install

图片.png

执行 npm install ,结果如下即为成功:

图片.png
5. 再次运行到浏览器

又报错了

图片.png

根据提示找到对应的插件,进行安装 工具 -> 插件安装

图片.png

再次运行

图片.png
6. 修改配置文件env.js, 替换域名
图片.png

至此,如果上面伪静态跨域SSL 配置没有问题,就能看到正常的商城页面了

分享海报设置-H5

生成海报前, 设置 后台 -> 商城配置 -> 商城信息 -> 分享

图片.png 图片.png 图片.png

分享海报设置-小程序

生成海报请先确保小程序发布过至少一版,否则服务端会报 /pages/index/index 页面路径无效 41030invalid page hint: [zEDCRb0gE-Nr333a]

  1. 配置小程序 appid
图片.png
  1. 下载小程序开发工具

小程序开发工具 -> 设置 -> 安全设置 -> 安全 -> 服务端口 -> 开启

图片.png 图片.png

保证商城配置正确:商城配置 -> 平台配置 -> 小程序配置

图片.png

到这里还没有完,当使用手机预览的时候发现海报无法生成,甚至连首页也出不来(开发工具能出来是因为开发工具有个选项 不校验域名合法性 ),这是因为,后端的域名和海报图片地址都需要添加到小程序允许的服务器域名中

小程序后台 -> 开发 -> 开发设置 -> 服务器域名

api 域名    // 后端 api 接口域名,请部署 `https`
api.7wpp.com      // 后台默认的海报背景的域名
wx.qlogo.cn         // 微信授权登录的头像地址
shopro-1253949872.image.myqcloud.com      // 商城演示商品图片地址

redis队列

提高系统性能,活动可靠性,系统引入了 队列 和 redis 缓存

1. 下单试试

此报错为未安装 队列插件,队列 和 redis 配置文档已经很详细了,请移步按照文档进行配置,点此

图片.png
配好队列,加上余额,使用余额付款,一切正常的话,就能看到订单支付成功啦!!!

上线

前提已经走过上面开发过程,env appid 等已经正常设置

1. H5

前端请单独部署,不要和后端接口使用一个站点,点此

图片.png 图片.png

SSL,请参考上面后端的进行设置 请务必配置

打包前端

图片.png 图片.png 图片.png

将两个文件上传到宝塔前端站点根目录

图片.png

访问前端网址,至此 H5 前端部署完成

小程序端

注意不要运行模式下的代码提交小程序审核, 点击 发行 -> 小程序 -> 微信

图片.png 图片.png 图片.png

常见问题

1. 部分用户接口出现 EventDispatcher not found

图片.png

这是 php 和 overtrue/wechat 某个版本才会出现的问题,导致 symfony/event-dispatcher 扩展包被移除

解决办法:

$ composer require symfony/event-dispatcher:^4.3 -vvv

2. 新添加订单,支付页提示订单不存在

请检查队列配置文件 application/extra/queue.php 的 connector 配置是否是 redis【推荐】 或者 database,如果不是(Sync), 点此

3. 拼团开团支付成功,跳转我的拼团不显示

4. 微信公众号登录提示 redirect_uri 域名与后台配置不一致

图片.png

请在微信公众号后台 开发-> 接口权限 -> 网页服务 ->网页授权 设置网页授权回调域名为后台 api 的域名,别忘了配置 ip 白名单

5. 权限不足 Permission denied

图片.png

首先检查 supervisor 守护进程执行用户是否是和 php-fpm 执行用户一直,宝塔是 www,如果不一致请修改为 www

图片.png

修改整个后端目录所属用户为 www

图片.png

6. 短信验证码无法发送

图片.png

7. 个人中心等级图标不显示

参考点此

图片.png

8. 部分接口请求报错

cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)

可能错误原因:

下载 cacert.pem 证书
https://curl.haxx.se/ca/cacert.pem

编辑当前系统php 配置文件 php.ini

[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo = 刚才下载的 cacert 的放置的绝对地址/cacert.pem

重启 php-fpm,重启 nginx

如果安装中有问题可以咨询一下作者QQ3104710541,我会第一时间进行修改补充

上一篇下一篇

猜你喜欢

热点阅读