机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。
🛒 S-Cart
使用 composer 创建项目 gp247/s-cart my-shop "^3.0"
免费开源的电子商务平台 — 构建在 GP247 生态系统上 & Laravel
🏠 主页 · 🚀 演示 · 📚 文档 · 🤖 AI 代理技能 · 💬 Facebook 群组
介绍
S-Cart 是一款 免费、开源 的在线商店软件,适用于企业、个人卖家、开发者和学生。您将获得一个完整的在线商店(产品、购物车、订单、客户、新闻)以及一个管理面板,并且可以通过插件和模板扩展功能。在阅读此页面后,您将能够在自己的计算机或服务器上安装 S-Cart,并了解如何更新和自定义它。
S-Cart 3.x 技术栈: PHP ≥ 8.3 · Laravel 13 · GP247 · Tailwind CSS 4 · MySQL / MariaDB
✨ S-Cart 中的内容
| 区域 | 功能 |
|---|---|
| 🛍️ 电商 | 产品、购物车、订单、客户 |
| 🌏 国际化 | 多语言、多货币 |
| 📰 内容(CMS) | 分类、新闻、内容页面 |
| 💳 支付与配送 | 支付插件、配送方式、折扣码、税费计算 |
| 🔐 管理与安全 | 基于角色的权限(管理员、经理、营销等)、活动日志、验证码 |
| 📊 业务工具 | 订单处理、客户管理、分析报表 |
| 🤖 AI 就绪(MCP 服务器) | 免费 MCP Server 插件:通过 模型上下文协议 将 AI 代理(Claude、Cursor、VS Code…)连接到您的商店,并直接询问 — “本周我们销售了多少?”、“哪些产品库存低?”、“订单 OR-1024 是否已支付?”。该代理作为一个管理员账号操作,具有相同权限,令牌保护,客户数据蒙版,每次调用均有记录 |
| 🧩 可扩展性 | HMVC 插件、在线插件/模板市场、移动应用的安全 API |
| ⭐ 专业插件 | 多供应商(多卖家市场)· 多商店(多个商店)· 进出库(采购、退货、现金流与债务) |
🧰 需求
| 组件 | 要求 |
|---|---|
| PHP | 8.3 或更新版本 |
| 作曲家 | 版本 2.x |
| 数据库 | MySQL 或 MariaDB — 先创建一个空数据库 |
| 可写文件夹 | storage · bootstrap/cache · app/GP247 · public/GP247 · public/vendor · resources/views/vendor · vendor |
💡 使用 Docker 时,你 不需要 在你的机器上安装 PHP、Composer 或 MySQL — 参见 选项 3。
🚀 安装
选择三种选项中的一个:
| 选项 | 最适合情况 |
|---|---|
| 1. Composer ⭐ | 安装在托管、VPS 或带有 Laragon/XAMPP 的机器上 — 推荐 |
| 2. Git clone | 你想从 GitHub 获取最新源码以进行开发或贡献 |
| 3. Docker | 你不想在机器上安装 PHP/MySQL |
选项 1 — Composer(推荐)
-
打开终端(在 Windows 上:“命令提示符”或 Laragon 终端)并检查哪个 PHP Composer 在运行:
composer diagnosePHP version系列必须是 8.3 或更新版本。⚠️ 在旧版本的 PHP 上,Composer 不会失败——它会静默安装一个非常旧的 S-Cart 1.x 版本。始终在步骤 2 的命令中保留
"^3.0",以便 Composer 能够明确失败,而不是安装错误的版本。 -
创建项目(将
my-shop替换为你想要的文件夹名称):composer create-project gp247/s-cart my-shop "^3.0" cd my-shop -
在项目文件夹中打开
.env文件,并将数据库部分设置为与您创建的数据库匹配:DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database DB_USERNAME=your_username DB_PASSWORD=your_password默认的
DB_HOST=mysql-local仅用于 Docker —— 如果直接安装,请将其更改为127.0.0.1。 -
安装 S-Cart:
php artisan gp247:install该命令要求确认 — 输入
yes。完成后,屏幕会显示管理员路径和登录信息。 -
(可选) 添加示例数据进行试用:
php artisan gp247:shop-sample -
打开你的浏览器:
| 页面 | 地址 | 登录 |
|---|---|---|
| 店面 | http://your-domain |
— |
| 管理员 | http://your-domain/gp247_admin |
admin / admin |
🔑 首次登录后立即更改
admin密码。
选项 2 — Git 克隆
git clone https://github.com/gp247net/s-cart.git
cd s-cart
cp .env.example .env
composer install
然后继续执行 步骤 3 → 6,选项 1(编辑 .env,运行 gp247:install,打开浏览器)。
选项 3 — Docker
有两个独立的 compose 文件 — 永远为相应环境使用正确的文件:
| 文件 | 环境 |
|---|---|
docker-compose.yml |
开发 — 你的本地机器 |
docker-compose.prod.yml |
生产 — 真实服务器 |
本地机器(开发环境):
git clone https://github.com/gp247net/s-cart.git
cd s-cart
cp .env.example .env
docker compose up -d --build
docker compose exec app php artisan key:generate
docker compose exec app php artisan gp247:install
docker compose exec app php artisan gp247:shop-sample # optional
在 http://localhost:8000 打开该网站。
真实服务器(生产环境):
git clone https://github.com/gp247net/s-cart.git
cd s-cart
cp .env.example .env
# Edit .env: APP_ENV=production, APP_DEBUG=false, DB_*, SC_DOCKER_WWWUSER/SC_DOCKER_WWWGROUP — see DOCKER.md
docker compose -f docker-compose.prod.yml up -d --build
docker compose -f docker-compose.prod.yml exec app php artisan key:generate
docker compose -f docker-compose.prod.yml exec app php artisan gp247:install
docker compose -f docker-compose.prod.yml run --rm node # build CSS/JS
⚠️ 在生产环境中 始终 添加
-f docker-compose.prod.yml。忘记添加会错误地运行开发配置(调试开启,以 root 身份运行,安装了 Xdebug…)。
📘 分步指南和 Docker 疑难解答:DOCKER.md。
🔄 更新
-
在更新之前,请备份数据库以及
app/GP247、public/GP247文件夹。 -
下载新代码:
composer update gp247/core gp247/front gp247/shop -
将更改应用到站点(安全:不会删除数据,也不会覆盖您编辑的翻译或模板):
php artisan gp247:update -
检查结果:
php artisan gp247:info
⚠️ 单独运行
composer update是不够的 — 一定要同时运行第 3 步。
高级选项(使用 --overwrite-lang 覆盖翻译,使用 --publish=… 刷新资源/视图)可能会覆盖您的自定义设置 — 在使用之前请仔细阅读 GP247 更新指南。
🎨 自定义与扩展
| 你想要… | 如何 |
|---|---|
| 创建一个新的插件 | php artisan gp247:make-plugin --name=PluginName |
| 创建一个新的模板 | php artisan gp247:make-template --name=TemplateName |
| 打包一个用于分发的 zip 文件 | 将 --download=1 添加到上面的任一命令 |
| 编辑默认模板的一个页面 | 先使用 php artisan gp247:template-publish GP247Front --file=screen/home.blade.php ,然后编辑 app/GP247/Templates/GP247Front/ 文件 |
| 自定义管理界面 | php artisan vendor:publish --tag=gp247:core-view(核心)· --tag=gp247:front-admin(前端)· --tag=gp247:shop-view-admin(商店) |
| 更改文件上传配置(lfm) | php artisan vendor:publish --tag=config-lfm |
覆盖一个 gp247_* 辅助函数 |
在 config/gp247_functions_except.php 列出函数名,然后在 app/GP247/Helpers/*.php 中编写新函数 |
| 覆盖一个控制器 | 见下方 |
| 向管理区域添加路由 | 使用 GP247_ADMIN_PREFIX 和 GP247_ADMIN_MIDDLEWARE 常量 — 见 core routes.php |
💡 默认的
GP247Front模板是直接从包加载的,因此你未发布的文件在更新时会自动获取新版本。只发布你需要编辑的文件。
覆盖控制器
适用于 GP247/Core、GP247/Front、GP247/Shop 中的每个控制器(包括 API):
- 在
app/GP247/{Core|Front|Shop}/...下创建一个相同子路径和名称的文件。 - 将新的类
extends设为vendor/gp247/...中的原始控制器。 - 在原始命名空间前添加
App\,其他保持不变:
| 原始命名空间 | 新命名空间 |
|---|---|
GP247\Core\Controllers |
App\GP247\Core\Controllers |
GP247\Core\Api\Controllers |
App\GP247\Core\Api\Controllers |
GP247\Front\... / GP247\Shop\... |
App\GP247\Front\... / App\GP247\Shop\... |
📘 详细文档: 创建插件 · 创建模板 · 完整 CLI 参考
📂 文件夹结构
(+) = 由 GP247 创建和管理的文件夹。
my-shop/
├── app/GP247/
│ ├── Core(+) ← Core controller overrides
│ ├── Front(+) ← Front controller overrides
│ ├── Shop(+) ← Shop controller overrides
│ ├── Helpers(+) ← *.php files here are auto-loaded
│ ├── Plugins(+) ← plugins (gp247:make-plugin)
│ └── Templates(+) ← templates (gp247:make-template) + template files published for editing
├── public/GP247/
│ ├── Core(+) ← admin CSS/JS
│ ├── Plugins(+)
│ └── Templates(+)
├── resources/views/vendor/
│ ├── gp247-admin(+) ← published Core admin views
│ ├── gp247-front-admin(+) ← published Front admin views
│ └── gp247-shop-admin(+) ← published Shop admin views
└── vendor/gp247/
├── core ← core: admin, permissions, configuration
├── front ← storefront, CMS
└── shop ← products, cart, orders
🔧 常用环境变量
将这些设置放入 .env 文件中:
| 变量 | 默认值 | 含义 |
|---|---|---|
GP247_ADMIN_PREFIX |
gp247_admin |
管理员路径,例如 your-domain.com/gp247_admin |
GP247_API_MODE |
1 |
启用 (1) / 禁用 (0) API |
GP247_DB_PREFIX |
gp247_ |
表名前缀 — ⚠️ 安装后不能更改 |
GP247_ADMIN_LOG |
1 |
记录管理员访问日志 |
GP247_SEO_LANG |
0 |
将语言代码添加到店面 URL (/en/..., /vi/...) |
GP247_ENCRYPTION_KEY |
(空) | 专用密钥用于加密 SMTP 密码、许可证… — 参见 .env.example 中的说明 |
❓ 问答
Q1: Composer 完成后却报告 Access denied for user 'root' — 发生了什么?
→ Composer 在低于 8.3 的 PHP 上运行并错误地安装了 S-Cart 1.x。删除新文件夹,将 Composer 切换到 PHP 8.3 (用 composer diagnose 检查),然后使用 "^3.0" 重新安装。
Q2: 管理面板在哪里,如何登录?
→ http://your-domain/gp247_admin, 用户 admin / 密码 admin。立即更改密码。
Q3: 如何查看我正在运行的版本?
→ 运行 php artisan gp247:info。
Q4: 网站损坏或无法安装 — 我首先应该检查什么?
→ 运行 php artisan gp247:doctor — 它会检查环境(PHP、文件夹写入权限、配置…)并指出需要修复的地方。也检查 要求 中列出的可写文件夹。
Q5: 更新会丢失我的数据或更改吗?
→ php artisan gp247:update 不会删除数据,并保留你编辑过的翻译和模板。只有 --overwrite-lang 和 --publish=… 选项可能会覆盖它们 — 使用前请备份。
Q6: 我编辑了默认模板 — 更新会清除我的更改吗?
→ 不会,只要你只发布用 gp247:template-publish GP247Front --file=... 编辑的文件。你的已编辑文件会被保留;其他文件将从包中获取新版本。
Q7: 我如何更改管理员路径?
→ 在 .env 中设置 GP247_ADMIN_PREFIX (例如 backoffice )。不要使用 public/ 中现有文件夹的名称(例如 vendor 或 GP247 ),否则页面会返回 403 错误。
Q8: 安装后我可以更改表前缀(GP247_DB_PREFIX)吗?
→ 不可以。请在运行 gp247:install 之前选择它。
Q9: 我不使用移动应用——我应该禁用 API 吗?
→ 可以。请在 .env 中设置 GP247_API_MODE=0。
Q10: 我可以在哪里寻求更多帮助?
→ 阅读 GP247 文档,向 DeepWiki 提问,或在 S-Cart Facebook 群组 发布帖子。
📅 最后更新: 2026-10-22 · ✍️ 作者: GP247
- 本文标题:s-cart - [项目] 免费 Laravel 电商平台:购物车
- 本文链接:https://www.cn121.com/cms/gp247net-s-cart.html
- 原项目:gp247net/s-cart 版权归原作者 gp247net 及贡献者所有
- 收录信息:本站于 2026-10-25 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 gp247net/s-cart。
- 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。