一句话定位: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.0composer.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、phpmailerExcel 导入导出、拼音、条码、邮件
数据库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 8PC + H5 + 六端小程序 + APPMIT,免费商用
企业版同栈 + 企业级插件打包全端 + 多商户/多门店/进销存商业授权,价格询官网
高校版教学场景裁剪全端面向院校,另议
私有云部署托管全端服务型,另议

协议要点:

  • 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 前后端分离的团队:它是模板渲染路线,改造等于重写。
  • 预算为零又要做多商户平台:多商户是插件,别指望白嫖。
  • 需要等保三级、金融级审计的场景:得自己做安全加固与合规改造。

同类对比

维度ShopXOCRMEBlikeshop萤火商城
后端PHP / ThinkPHP 8PHP / ThinkPHPPHP / ThinkPHPPHP / 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 不备份

12. 参考链接

类型链接
源码仓库(Gitee)https://gitee.com/zongzhige/shopxo
镜像仓库(GitHub)https://github.com/gongfuxiang/shopxo
镜像仓库(GitCode)https://gitcode.com/zongzhige/shopxo
官方网站https://shopxo.net
文档中心https://doc.shopxo.net
系统安装文档https://doc.shopxo.net/article/1/260667307922030592.html
宝塔面板部署https://doc.shopxo.net/article/1/260680208858742784.html
伪静态配置https://doc.shopxo.net/article/1/261489157468061696.html
数据库表说明https://doc.shopxo.net/article/1/261157827404365824.html
重置管理员密码https://doc.shopxo.net/article/1/265389860360028160.html
在线演示https://demo.shopxo.net
应用商店https://store.shopxo.net
更新日志https://gitee.com/zongzhige/shopxo/blob/master/changelog.txt
uniapp 端源码https://gitee.com/zongzhige/shopxo-uniapp

标签: 商城, shopxo

添加新评论