一句话定位:PHP 圈功能最全的开源商城之一,ThinkPHP 8 + MIT 免费可商用,核心系统白送、PC/H5/五端小程序/APP 全覆盖,真正的多商户、多门店、进销存都靠插件补 —— 单商户开店够用,想上平台型业务就绕不开插件采购。
| 项 | 值 |
|---|---|
| 仓库地址 | https://gitee.com/zongzhige/shopxo (GitHub 镜像:github.com/gongfuxiang/shopxo) |
| 官方站点 | https://shopxo.net |
| 开发文档 | https://doc.shopxo.net (安装教程:install.shopxo.net) |
| 在线演示 | https://demo.shopxo.net (后台 admin / shopxo) |
| 开源协议 | MIT(v1.9.1 起由 Apache-2.0 改为 MIT,可商用、可二次开发) |
| 技术栈 | PHP 8.0+ / ThinkPHP 8(v6.4.0 起为 8.1)+ MySQL + Redis 可选 + 原生 JS 前端 |
| 当前版本 | v6.9.3(2026-11-03 发布),标签 50 个、分支 54 个 |
| 社区热度 | Gitee 23.8K Star / 2.3K Fork / 10.3K Watch / 3908 次提交 / Issues 44 个 |
| 维护方 | 纵之格(作者网名 Devil / 公众号「ShopXO 免费开源商城」),Gitee GVP 项目 |
| 交流群 | QQ 群 833531593 / 641730223 / 1127073697(多商户群 782971010、uniapp 群 679303149) |
| 文档日期 | 2026-11-10 |
1. 项目是什么
ShopXO 是一套用 PHP 写全的「电商系统全家桶」:一套核心系统同时输出 PC 商城、H5、微信/支付宝/百度/头条抖音/QQ/快手六端小程序、iOS/Android APP 六类终端,后台带可视化 DIY 拖拽装修,安装方式是上传源码后跑安装向导,不用命令行。
对标的是 CRMEB、likeshop、萤火商城这类 PHP 商城源码产品。它的路线和同门兄弟不一样:核心系统直接 MIT 白送,把「多商户 / 多门店 / 进销存 / 分销 / 客服 / 直播」这些企业级能力切成插件放进应用商店,靠插件、主题和定制变现。所以你会看到一个很有意思的现象 —— 开源仓库的功能列表长得吓人,但装完默认版本里有一半要另装插件。
它解决的核心问题:
- 一套代码铺满所有端 —— 小程序要过审就得各平台一套包,ShopXO 把多端做了「一套后端 + 多套壳」,省掉重复接口开发。
- 运营改版不用找程序员 —— DIY 拖拽装修 + 主题管理,首页、活动页、商品详情页(v6.9.3 新增)都能可视化拼。
- PHP 小团队的上限被拉高 —— 订单、售后、支付、退款、核销、库存、发票这些最容易写错的模块已跑通多年,接手改业务即可。
不适用的场景:高并发秒杀(PHP + MySQL 单体,靠 Redis 缓存和扩容有限);需要严格等保/金融级审计的场景;团队完全不熟 PHP/ThinkPHP;以及「想一分钱不花就做出淘宝」的多商户平台梦 —— 多商户是插件,且功能越重越靠近付费。
2. 核心特性
| 特性 | 说明 | 对使用者的价值 |
|---|---|---|
| MIT 完全开源 | 协议宽松,可商用、可闭源二次开发,只要求保留版权声明 | 没有后门风险,法务层面最省心 |
| 全端覆盖 | PC + H5 自适应,微信/支付宝/百度/头条抖音/QQ/快手小程序,iOS/Android APP | 一套后端服务六类用户,不用为每端重写业务 |
| 可视化 DIY 装修 | 几十种组件(商品、文章、图片魔方、热区、视频、轮播、选项卡、自定义 HTML 等),v6.9.3 起支持商品详情页与用户中心装修 | 运营自己就能改页面,不用等版本 |
| 可视化表单 | 单行/多行文本、数字、单选、复选、下拉、日期、定位、地址、评分、富文本、子表单、上传图片视频等,拖拽设计 | 收集用户报名、问卷、订单附加信息不用另买表单工具 |
| 多种经营模式 | 快递 + 同城 + 自提 + 虚拟 + 展示,多仓库独立库存 | 一个系统能同时跑电商和 O2O 门店 |
| 多端登录与支付 | 微信/QQ/支付宝/百度等第三方登录,微信、支付宝、银联、通联、PayPal、PayPay 等支付插件 | 各端登录支付链路不用自己拼 |
| 插件化架构 | 功能以插件形式安装、升级、导入导出,支持二级域名、钩子扩展 | 可以只装要用的,也能自己开发插件 |
| 手机端后台 | 后台支持手机模式,订单、商品、门店核销都能移动操作 | 老板/店长不用开电脑 |
| AI 能力入场 | v6.8.0 起 AI 智能客服(接文档/问答/博文知识库),v6.9.2 新增 AI 大模型、AI 编辑器、商品助手、经营助手、以图搜款插件 | 是当前最活跃的迭代方向,但插件成熟度需自测 |
3. 技术架构
整体结构:标准 ThinkPHP 8 多应用(多 app)单体架构,入口文件分离 —— 前台 index.php、API api.php、后台 admin.php、安装 install.php,命令行入口 think。业务按 app/ 下的应用目录分模块(admin / index / api / 插件应用),公共能力在 extend/,模板在 resources/ 与各应用 view 目录。
技术选型(以仓库 composer.json 为准):
| 层 | 技术 | 说明 |
|---|---|---|
| 语言 | PHP >= 8.0.0 | composer.json 明确要求;v6.1.0 起不再支持 7.x |
| 框架 | ThinkPHP 8(v6.4.0 起 8.1) | 多应用 + think-orm + think-view |
| 模板 | ThinkPHP 原生模板 + Smarty 残留(0.1%) | 主题以模板 + 静态资源包形式分发 |
| 依赖 | phpspreadsheet、overtrue/pinyin、php-barcode-generator、phpmailer | Excel 导入导出、拼音、条码、邮件 |
| 数据库 | MySQL 5.0+(建议 5.6/5.7;5.6 以下用 utf8,以上建议 utf8mb4) | 无强制 ORM 版本绑定 |
| 缓存 | 文件缓存,可按需开 Redis | 缓存配置在后台可视化修改 |
| 前端 | 原生 JS + jQuery 生态,非 SPA | 后台是传统多页 + ajax,学习成本低但前端工程化弱 |
| 语言占比 | JS 40.6% / PHP 34.4% / HTML 17.2% / CSS 7.7% | 前端代码量比后端还大,符合「后端渲染多端」的设计 |
关键取舍:
- 选 PHP + 模板渲染而不是前后端分离,好处是部署只要一个 Nginx + PHP-FPM,坏处是前后端耦合、二次开发改前端要懂 ThinkPHP 模板语法。
- 大量能力做成插件而不是内置,好处是核心轻、可按需付费,坏处是升级时必须先升插件(官方 changelog 反复强调「系统更新必须先更新待更新的插件」),版本矩阵容易错位。
- 商城同时保留 web 端和手机端两套视图,同一功能常要改两处,改造成本要按 1.5 倍估。
4. 目录结构
| 路径 | 用途 |
|---|---|
public/ | 对外根目录,域名建议直接指到这里;index.php / admin.php / api.php 的入口壳在根目录与这里各有一份 |
app/ | 业务代码主体,按应用分目录(后台、前台、API、插件) |
config/ | 框架配置,数据库、缓存、路由等 |
extend/ | 公共扩展类、工具库、第三方 SDK |
resources/ | 主题模板与前端静态资源 |
sourcecode/ | 部分前端源码工程(小程序/H5 相关) |
rsakeys/ | 系统 RSA 密钥,登录与接口加密用,不要提交到公开仓库 |
runtime/ | 运行时缓存、日志,需要 755 权限,升级和清缓存都要看这里 |
vendor/ | Composer 依赖,随包发布,一般不用自己 install |
install.php | 安装向导入口,装完必须删除或改名 |
5. 快速上手
环境硬门槛:PHP 8.0+(推荐 8.1/8.2)、MySQL 5.6/5.7+、Nginx 或 Apache(要配伪静态)、runtime 目录可写。不需要 Composer、不需要 Node(vendor 已随包提供)。
方式 A:宝塔面板一键部署(PHP 站点最省事)
# 1. 面板新建站点(示例域名 shop.example.com),PHP 选 8.1/8.2,建好数据库
# 2. 下载并解压源码到站点根目录
cd /www/wwwroot/shop.example.com
wget https://dl.shopxo.net/shopxo.zip # 或从 Gitee 打包下载
unzip -o shopxo.zip && ls
# 3. 权限:runtime 755,属主给 www
chown -R www:www . && chmod -R 755 runtime
# 4. 站点配置里把运行目录指向 /public(更安全),并加伪静态
# 伪静态规则见 doc.shopxo.net 的「伪静态配置」一篇
# 5. 浏览器访问 https://shop.example.com/ 自动跳安装向导方式 B:命令行装
git clone https://gitee.com/zongzhige/shopxo.git shopxo
cd shopxo
chmod -R 755 runtime
# 起个临时站点指向 public/,然后浏览器打开 install.php 走向导
php -S 0.0.0.0:8080 -t public # 仅本地验证,生产用 Nginx安装向导四步:同意协议 → 环境检查(缺扩展会红字提示)→ 填数据库(库名/账号/密码,建议 utf8mb4)→ 等待建表完成。完成后:
- 后台地址:
https://你的域名/admin.php,默认账号admin/ 密码shopxo,装完立刻改 - 前台地址:站点域名
- v6.2.0 起安装程序支持随机生成管理入口地址,等于自动帮你做了后台防护
启动失败高频原因:PHP 版本低于 8.0(composer.json 卡死);伪静态没配导致除首页 404;runtime 不可写导致后台白屏;MySQL 用了 8.0 但没开兼容配置时个别 SQL 报 1055;把站点根目录指到源码根而非 public/ 却又没放行入口文件,导致资源 404。
6. 功能模块清单
| 模块 | 能力 | 开源核心是否自带 |
|---|---|---|
| 商品 | 商品/规格 SKU、分类、品牌、标签、参数、相册标签、批量导入 | ✅ |
| 订单 | 下单、支付、发货、售后、改价、多包裹、订单溯源、商品表单 | ✅ |
| 购物车/结算 | 多规格、优惠明细、地址、自提点、运费设置 | ✅ |
| 用户 | 第三方登录、手机/邮箱注册、地址簿、积分、收藏、浏览记录 | ✅ |
| 支付 | 微信、支付宝、银联、QQ 钱包、PayPal 等支付均为插件,核心只有现金/线下 | ⚠️ 插件 |
| DIY 装修 | 首页、分类页、商品详情、用户中心、活动页拖拽设计 | ✅ |
| 文章/博客 | 文章分类、商城博客、SEO 收录 | ✅ |
| 多语言 | 全站多语言,i18 一键翻译(v6.9.2 增强) | ✅ 基础 + 插件 |
| 短信/邮件 | 阿里云、腾讯云、百度、云片等短信通道,SMTP 邮件 | ✅ 通道 + 插件 |
| 第三方登录 | 微信、QQ、支付宝、APP 一键登录 | ⚠️ 插件 |
| 多商户 | 商家入驻、独立店铺、二级域名、保证金、拆单、结算 | ⚠️ 插件 |
| 多门店 | 派单/转单/核销/代客下单/次卡/批次/员工抽成/收银台/桌码 | ⚠️ 插件 |
| 进销存 | 采购、销售、盘点、调拨、多仓库仓位、Excel 导入、打印模板 | ⚠️ 插件 |
| 供应商 | 供应商入驻、供货、订单售后、结算 | ⚠️ 插件 |
| 营销 | 优惠券、限时秒杀、分销、超级会员、积分商城、签到、拼团、砍价、预售、抽奖、满减满折、礼品卡、送礼 | 部分自带,多数插件 |
| 客服 | IM 在线客服、AI 智能客服、多商户/门店共用 | ⚠️ 插件 |
| 配送 | 达达配送、同城急送(快递 100 聚合)、配送员调度 | ⚠️ 插件 |
| 财务 | 发票、钱包、挂账、支付凭证审核、数据看板 | 部分插件 |
说明:官方 README 把上述功能并列展示,容易看成「装完就有」。实际判定标准是后台「应用管理」里已安装插件的列表,采购或报工期前按这张表逐项核对。
7. 版本与授权
| 版本线 | 技术栈 | 覆盖端 | 授权 |
|---|---|---|---|
| 开源版(本仓库) | PHP 8.0+ / ThinkPHP 8 | PC + H5 + 六端小程序 + APP | MIT,免费商用 |
| 企业版 | 同栈 + 企业级插件打包 | 全端 + 多商户/多门店/进销存 | 商业授权,价格询官网 |
| 高校版 | 教学场景裁剪 | 全端 | 面向院校,另议 |
| 私有云 | 部署托管 | 全端 | 服务型,另议 |
协议要点:
- MIT:可商用、可闭源、可二次销售衍生品,唯一硬约束是保留版权与许可声明。
- 历史沿革:v1.9.1(2020-11)之前是 Apache-2.0,之后改 MIT,官方明确「之前版本也可按 MIT 使用」。
- MIT 只覆盖核心代码。应用商店里的插件、主题、素材各有自己的授权条款,商用前逐项确认,尤其是「是否绑定域名 / 是否按年续费 / 是否可二次分发」。
- 品牌层面:代码可改,但把 ShopXO 换成别人的名字再去卖「同款源码」属于另一回事,跟协议无关、跟信誉有关。
8. 商业模式说明
一句话:核心免费引流,插件按需收费,企业版与定制兜底。
| 收入层 | 怎么赚钱 | 定位 |
|---|---|---|
| ① 应用商店插件 | 多商户、多门店、进销存、供应商、客服、分销、支付等以插件分发,按插件或打包授权 | 主收入,也是「功能齐全」口碑的来源 |
| ② 主题与 DIY 模板 | web 端主题、小程序 DIY 模板、页面设计包 | 低客单、高频复购 |
| ③ 企业版 / 私有云 | 插件打包 + 部署支持 + 服务期 | 中大型客户,价格不公开 |
| ④ 定制开发与二开服务 | 按需开发、行业改造、对接第三方(政采、问诊、分账等) | 项目制,高毛利 |
| ⑤ 生态分成 | 第三方开发者上架插件,平台抽成 | 长期护城河 |
几个要点:
- 它的开源是真的、免费也是真的,但「功能全」的完整版并不免费 —— 这个边界设计得很清楚:单商户自营电商完全够用,一旦要做平台(多商户)、连锁(多门店)或重仓管理(进销存),插件费就会上来。
- 迭代节奏很猛:2026 年 3 月至今已推 6.8.0 → 6.9.3 六个功能版本,平均两个月一版,AI 相关插件是主线。对使用者是好事(功能在长),对二次开发者是压力(要跟版本)。
- 对使用者意味着什么:如果只是给自己或客户做一个单商户商城,开源版成本接近零;如果你是在给客户交付「平台型电商」,报价里必须把插件授权算进去,否则后期补票很难看。
9. 生态与周边
| 类型 | 地址 / 说明 |
|---|---|
| 官网 | https://shopxo.net |
| 文档 | https://doc.shopxo.net(开发 / 插件开发 / API / 使用四套文档) |
| 在线演示 | https://demo.shopxo.net |
| 应用商店 | https://store.shopxo.net |
| 下载中心 | https://shopxo.net/download.html 、https://dl.shopxo.net |
| uniapp 端源码 | https://gitee.com/zongzhige/shopxo-uniapp |
| DIY 装修源码 | https://gitee.com/zongzhige/shopxo-diy |
| 表单源码 | https://gitee.com/zongzhige/shopxo-form |
| 镜像仓库 | https://github.com/gongfuxiang/shopxo 、https://gitcode.com/zongzhige/shopxo |
| 社区 | QQ 群 5 个(见文首表格),Issues 在 Gitee 提问 |
| 荣誉 | Gitee GVP、GitCode G-Star、GitCode 2024 年度十大新锐项目 |
扩展三条路:① 按官方「插件开发文档」写插件(有钩子、有脚手架,能上架商店);② 直接改 app/ 与 resources/ 里的业务与模板(快,但升级会冲突);③ 主题层改装(改模板 + CSS,风险最小)。
10. 选型建议
强烈建议用
- 单商户自营电商:企业官网商城、品牌自营店、门店自提 + 同城配送,开源版开箱可用。
- PHP 团队给客户交付商城项目:多端省事、模块齐、文档全,交付周期比自研短一个量级。
- 需要「一套系统管线上 + 线下门店」的小连锁:先上核心 + 多门店插件试水。
可以试试
- 想学「PHP 电商系统怎么分层」的开发者:它的服务层拆分、插件机制、多端 API 设计都有参考价值。
- 已有 PHP 技术栈、不想换 Java 的团队:生态成熟度在 PHP 商城圈属于头部。
- 想尝鲜 AI 客服 / 以图搜款的运营团队:插件已上架,但建议非核心链路先跑。
不建议用
- 追求高并发、要大促秒杀扛量的业务:架构不匹配,硬堆机器不如换栈。
- 前端要 React/Vue 3 前后端分离的团队:它是模板渲染路线,改造等于重写。
- 预算为零又要做多商户平台:多商户是插件,别指望白嫖。
- 需要等保三级、金融级审计的场景:得自己做安全加固与合规改造。
同类对比
| 维度 | ShopXO | CRMEB | likeshop | 萤火商城 |
|---|---|---|---|---|
| 后端 | PHP / ThinkPHP 8 | PHP / ThinkPHP | PHP / ThinkPHP | PHP / ThinkPHP |
| 核心授权 | MIT(最宽松) | 部分限制 | 部分限制 | 部分限制 |
| 终端覆盖 | PC/H5/六端小程序/APP | 小程序/H5/PC | 小程序/H5/PC | 小程序/H5 |
| 多商户 | 插件 | 付费版 | 付费版 | 不支持 |
| O2O 门店 | 插件(较重) | 弱 | 弱 | 弱 |
| 二次开发文档 | 开发 + 插件开发 + API 三套 | 有 | 有 | 有 |
| 适合人群 | 要全端、要插件生态、能接受插件付费 | 小程序电商 | 小程序电商 | 轻量小店 |
11. 风险与坑
部署层
- 文档口径滞后于代码:使用文档首页还写着「PHP 7.2.5+ / ThinkPHP6」,仓库
composer.json已经要求 PHP >= 8.0,安装文档里补了一句「v6.1.0 及以上需 8.0+」。以 composer.json 和安装向导的环境检查为准,别照老教程装 PHP 7.4。 - 站点根目录不要直接指源码根:正确做法是指向
public/;指根目录也能跑,但config/、runtime/、rsakeys/全暴露在 web 根下,风险高。 install.php装完必须删,否则任何人都能重跑安装流程。runtime必须可写,宝塔默认www用户,属主错了就是白屏 + 500。- 伪静态要配:不配的话除首页外全 404,很多人以为是程序坏了。
- MySQL 5.7 以下用 utf8,5.6 以上建议 utf8mb4,否则 emoji 和部分生僻字商品名会截断。
依赖与版本层
- 升级顺序不能反:官方明确「系统更新必须先更新待更新的插件」。先升主程序会把插件钩子打乱,后台直接报错。
- 插件与主程序版本强绑定:v6.9.x 的插件装到 v6.8 上大概率报方法不存在,升级前先看应用商店的兼容版本。
vendor/随包发布,自己composer update可能拉出与代码不匹配的 ThinkPHP 版本,非必要不要动。- 老第三方文章大量停留在「ThinkPHP 5.1 + PHP 5.6」时代,参数和目录都对不上,以仓库与官方文档为准。
安全与运维层
- 默认账号 admin / shopxo,装完第一件事就是改密码;后台入口
admin.php建议改名(v6.2.0 起安装可随机生成)。 rsakeys/是登录加密密钥,泄露后会话可伪造,务必确认没被备份到公网可访问目录。- 上传目录要限制可执行权限(Nginx 里禁掉 upload 目录的 php 解析),否则图片马是 PHP 商城最经典的失分点。
- 支付回调地址必须 HTTPS 且可公网访问,微信/支付宝各端 appid 与商户号分开配,配错的表现是「付款成功但订单不发货」。
- 生产环境务必关掉调试模式(官方有专门的「调试模式」文档),错误页暴露路径等于给扫描器送情报。
- 建议加 Redis 缓存并设密码,PHP 单机文件缓存在并发下会拖慢后台。
生产落地 checklist
- ☐ PHP 8.1+、站点根指向
public/、伪静态已配、install.php已删 - ☐ 后台密码与入口已改,
rsakeys、runtime不在 web 可读路径 - ☐ 上传目录禁止 PHP 解析,图片走 OSS/MinIO
- ☐ 微信/支付宝支付各端已配,真实下单 + 退款各跑一笔
- ☐ 插件清单与授权已核对,插件版本与主程序版本匹配
- ☐ 定时任务(订单超时关闭、自动收货、脚本类插件)已挂 crontab 并验证
- ☐ 升级流程走通一次(备份 → 升插件 → 升主程序 → 清缓存 → 回归支付/下单)
- ☐ 备份策略:数据库每日 + 代码版本化,
runtime不备份