AI 开发与小改动分流:先阅读 YoShop AI 开发完整使用说明书,快速定位见 系统地图。
日常交付必须先在 WSL 本地上线并由用户验收,再推送 GitHub,最后另行授权腾讯云生产发布。完整步骤见 WSL 本地验证与腾讯云生产上线工作流。
本仓库用于保存一个可重新部署、可继续二开的 yoshop
演示项目单仓库版本,包含:
yoshop2.0/:PHP 后端yoshop2.0-uniapp/:uniapp / 微信小程序源码yoshop2.0-store/:商家后台前端源码yoshop2.0-admin/:总后台前端源码yoshop2.0/public/uploads/:演示商品图 / 首页图deploy/env/:环境变量模板deploy/sql/:基础安装 SQL 与演示内容 SQL
git clone <your-repo-url>- 配置
yoshop2.0/.env - 在
yoshop2.0/执行composer install - 导入
deploy/sql/install.sql - 导入
deploy/sql/demo-content.sql - 如是旧页面装修数据,可执行
deploy/sql/fix-page-data-relative-paths.sql - 配置 Nginx / PHP / MySQL / Redis
- 本地重新编译
yoshop2.0-uniapp
为了避免“本地可运行、服务器报错”的情况,请尽量保持与生产环境一致的 PHP / 扩展 / 运行方式。
- 操作系统:Ubuntu 22.04 LTS
- Nginx:1.18+
- PHP:8.3.x(当前生产验证版本为 8.3.31)
- PHP-FPM:
php8.3-fpm - MySQL:5.7+ / 8.0+
- Redis:6+
- Composer:2.x
- 定时任务:
php think timer start,建议由 systemd 托管
bcmathcurlgdintljsonmbstringmysqlimysqlndopensslpdopdo_mysqlredissimplexmlxmlxmlreaderxmlwriterzipfileinfodomlibxml
- 本仓库已验证在 PHP 8.3 环境下运行。
- 若本地与服务器 PHP 小版本不同,某些 vendor 兼容问题可能只在生产环境触发。
- 本仓库通过 Composer 的
post-autoload-dump自动补丁修复已知 PHP 8.3 vendor 兼容问题,包括myclabs/php-enum、overtrue/socialite、overtrue/wechat和easywechat-composer的旧接口签名问题。 - 部署时不要使用
composer install --no-scripts,否则兼容补丁不会自动执行。
.env中APP_DEBUG=false.env中APP_URL与线上域名保持一致- 数据库账号使用独立生产账号,不要留占位符
- Redis 默认只监听本机回环地址,除非已做好 ACL / 内网隔离
- WSL 本地验收时将后台
dist同步到本地yoshop2.0/public/admin|store;腾讯云发布由 guarded release builder 自动把本地dist装入不可变发布包,不提交这些生成目录 yoshop2.0/public/uploads与yoshop2.0/runtime必须对php-fpm运行用户可写,推荐所有者为www-data:www-data
本节只处理 PHP runtime 权限和缓存,不是完整的 WSL 本地上线流程。前端构建/同步、本地数据库变更、人工验收和 Git/腾讯云授权顺序见 完整工作流。
本地 Nginx、PHP-FPM 和 Timer 应统一使用 www-data 写运行时文件。首次配置执行:
sudo apt-get install -y acl
sudo install -D -m 0644 \
/opt/yoshop/scripts/systemd/yoshop2.0-timer-local-override.conf \
/etc/systemd/system/yoshop2.0-timer.service.d/local-runtime-user.conf
sudo systemctl daemon-reload
sudo systemctl restart yoshop2.0-timer.service
/opt/yoshop/scripts/repair-local-runtime.sh以后需要清 ThinkPHP 缓存时,不要直接删除整个 runtime,统一执行:
/opt/yoshop/scripts/repair-local-runtime.sh --clear-cache
sudo systemctl restart php8.3-fpm该脚本只处理 Git 工作区中的本地 runtime,拒绝生产环境使用的 runtime 软链接,也不会触碰 .env 或上传文件。
如需后台前端,也可分别安装并编译:
yoshop2.0-storeyoshop2.0-admin
yoshop2.0/public/uploads/已包含演示图片,因此导入 SQL 后应可恢复演示商品与图片。- 仓库不提交真实
.env、vendor/、node_modules/、运行时目录与常见垃圾文件。 - 页面装修(DIY)图片已改为相对路径存储、接口动态补全绝对地址,降低换域名部署时的耦合。
- 当前版本修复了商家后台支付设置、其他设置选项;修复了注册商家后台新注册账户登录时的权限报错、404、白屏等问题。
- 更详细的部署说明见
deploy/README.md。