该文档为 v3 版本的文档,如果您需要使用 v2.x 版本的,请您传送至 这里 (opens new window)

当前版本: GitHub last release

# 概叙

# 前言

个人之前做了很多次商城,每次都是从头开始开发比较耗时,后来熟悉流程后自己写了一套方便产品经理的需求快速上线。

欢迎 Star,欢迎 PR!

fork star star

GitHub (opens new window) Gitee (opens new window)

交流QQ群:1062159788 - 私人QQ:364825702 请备注 青梧商城

# 运行环境

PHP : 7.4 | ^8.0

MySql >= 5.6

Apache || Nginx = *

node >= 10.*

composer >= 1.*

【重点】请二开前先前往对应官网熟悉Laravel8 和 Vue3 相关文档

# 快速安装

# Composer 安装 [ 推荐 ]

composer create-project qingwuit/qwshop shop

# 手动建好数据库 - 项目不会自己建数据库的 只会根据你填写的数据库账户密码去插入数据
php artisan qwshop:install 
# [ 如果执行失败 看下文档【PHP配置】是否正确 ]

# 下面两条需要安装Node 环境请npm -v 查看是否有安装 或自行搜索nodejs安装
npm install
npm run prod

## linux 得给下权限 window 不用执行
chmod -R 777 ./storage/

# Docker 安装

git clone https://github.com/qingwuit/qwshop.git  # https://gitee.com/qingwuitcn/qwshop.git

cd qwshop/dockerfiles # 进入目录

docker-compose up -d  # 这里默认你已经安装【docker】

docker exec -it dockerfiles_qwshop_1 /bin/sh # 进入工作台

./dockerfiles/install.sh # 安装项目 如因权限无法执行 运行: sh ./dockerfiles/install.sh

## [ 下面的问题 我未尝试成功 ] 这个问题等我查到能用的再更新
## 运行在docker接口请求慢卡,是微软wsl2子系统的问题,磁盘IO太慢,导致的响应时间超长。
## 解决方法:在docker设置页面,General->把除第一个复选框全部取消掉。特别是其中一个use the wsl2 based engine,就是我们访问慢的罪魁祸首。
## 参考文献: https://blog.dugwang.com/?p=1346

# 手动安装

1、下载对应版本 GitHub传送门 (opens new window) Gitee传送门 (opens new window)

或者

# 如果有安装Git bash 可以Clone
git clone https://github.com/qingwuit/qwshop.git
# 或者
git clone https://gitee.com/qingwuitcn/qwshop.git

2、复制根目录 .env.example.env

3、修改 .env 数据库

4、下载PHP Composer扩展

composer install

5、在根目录执行以下命令

php artisan key:generate # 密钥key
php artisan passport:keys --ansi # 密钥key
php artisan storage:link # 软链接

6、导入Sql文件

php artisan migrate # 数据迁移
php artisan qwshop:mysql # 导入初始数据

7、下载前端扩展 [ 这里预知你已经安装了Node套件 ]

npm install
# 也可以使用淘宝镜像
# npm install --registry=https://registry.npm.taobao.org --force

# 前端代码打包
npm run prod

## linux 得给下权限 window 不用执行
chmod -R 777 ./storage/

# Nginx 配置

# 参考代码
listen  80;
server_name localhost;
root  /var/www/laravel-app/public; # 解析目录到项目Public
index  index.html index.htm index.php;
...

#伪静态代码 [ 这里不少人忘记导致接口404情况 ]
location / {
    try_files $uri $uri/ /index.php?$query_string;
}

# PHP 配置

# php.ini 文件中解除限制函数
'shell_exec','exec','symlink','proc_open','putenv'
# php.ini 一个个搜索看有没有删除 如果没删除的删除下 [ 如果还是无法执行看报错再删除下 ]

# 商城登录

  • 【总后台】 /Admin/login - admin 123456
  • 【商家后台】 /Seller/login - 18888888888 123456
  • 【用户后台】 /login - 18888888888 123456

[重要] 记得路径大小写一定要一样 如:/Admin/login 不能是 /admin/login 否则出现无法登录登陆后又跳转回来的问题

# 常见问题

  • 需要自行配置PHP环境、和node 环境(安装扩展尽量使用国内镜像)

  • npm run 打包过程失败,请查看node-sass or corejs 是否有下载成功,尝试重新下载或者去淘宝镜像下载 确定node版本是否过低。

  • 【安装后无法打开】,是否忘记配置伪静态ngnix linux 查看 chmod -R 777 storage 是否给权限

  • 【安装后无法打开】,是否将目录解析到public,nginx下是否配置Laravel伪静态

  • 【安装后无法打开】,是否php artisan qwshop:install 时填写的域名和你目前访问的域名一致

  • 【无法登录】,是否使用 php artisan serve 访问 是无法访问的 会和passport冲突 最好重新搭个服务端环境 如Nginx 或者 集成环境

  • 接口502单独打开接口又能打开,查看nginx日志看是否header传输过大,关闭envDEBUG,如果还不行,请修改nginx配置文件