项目地址:https://github.com/shubaocai/sbc-acgfaka | 网盘备用下载(只需一个文件):https://wwbkx.lanzn.com/ipO5i49r2vla | MIT License

acg-faka(异次元店铺系统) 是个挺好用的发卡 / 卡密销售系统,但官方给的部署方式是 Docker 或者自己配 LNMP——对只有虚拟主机、没有命令行权限的人来说,第一步就卡住了:面板里能上传文件,却没有终端能跑 docker compose,也不一定敢乱改站点配置。

这篇教程讲的是另一条路:一个 PHP 文件,全程在浏览器里点选完成部署。把 deploy.php 传到网站根目录,打开,跟着页面走完六步,再进 acg-faka 自己的安装向导填一下数据库,站点就跑起来了。不需要 Docker、不需要 SSH、不需要 composer,也不用改主机配置。


它和「一条命令安装」的脚本有什么区别

同一套东西,两种装法,按你手上的机器挑:

你手上的机器 用哪个 特点
云服务器 / VPS(有 root、有终端) install_acgfaka.sh(仓库里的 bash 脚本) 自动装 Docker、构建镜像、拉 MySQL 和 Redis,一条命令到安装向导
虚拟主机 / 空间(只有面板和 FTP) deploy.php(本文) 浏览器里点六步,程序解压到站点目录,跑在主机自带的 PHP + MySQL 上

本文只讲虚拟主机这条路。如果你有服务器,直接看仓库里的脚本和 README。

你需要先准备什么

项目 要求 说明
PHP 8.0 或以上 面板里能切 PHP 版本;装之前先确认当前站点用的是 8.0+
MySQL 5.6 或以上 虚拟主机一般要自己在面板里建一个库和用户,记下库名 / 用户名 / 密码
PHP 扩展 pdo_mysql gd zip bcmath mbstring curl fileinfo openssl 前四个最容易缺,缺了安装向导和验证码会出问题,面板里勾上即可
目录权限 网站根目录可写 部署过程要解压文件、建运行目录
磁盘 建议留 1GB 以上 程序本体约 15MB,余量留给日志、缓存和后续上传的附件

opcacheredis 属于「有更好、没有也能跑」:没有 redis 时程序会自动退回文件会话。

下载 deploy.php

三种方式,随便挑一个:

  1. 蓝奏云(推荐给国内用户,只有这一个文件)https://wwbkx.lanzn.com/ipO5i49r2vla
  2. GitHub 仓库https://github.com/shubaocai/sbc-acgfaka —— 仓库里除了 deploy.php,还有服务器用的安装脚本和完整说明
  3. 直接取单文件(GitHub 时通时不通,取不到就用上面两个):
https://raw.githubusercontent.com/shubaocai/sbc-acgfaka/main/deploy.php
https://cdn.jsdelivr.net/gh/shubaocai/sbc-acgfaka@main/deploy.php

第一步:上传到网站根目录

用面板的文件管理器或者 FTP,把 deploy.php 放进网站根目录(就是放 index.php 的那一层,别放进子文件夹),然后确认文件权限是 644

这一步有个坑值得提前说:有些主机(suPHP / suEXEC 模式)对权限很敏感,权限给到 777 反而会直接 500。上传后把文件改成 644、目录保持 755,是最稳的。

第二步:打开页面,设置访问密码

浏览器访问 http://你的域名/deploy.php。第一次打开会让你设一个访问密码(至少 6 位)——这是防止别人扫到这个文件顺手把程序装到你站里。密码只保存在服务器临时目录的哈希值,不写进网站目录。

第三步:看环境检测

页面第一屏会把该查的都查一遍,结果分「通过 / 不通过」:

检测项 要求 不通过怎么办
PHP 版本 ≥ 8.0.0 面板里切 PHP 版本(卡乐 / Kangle:网站管理 → PHP 设置;宝塔:站点设置 → PHP 版本;cPanel:MultiPHP Manager)
必需扩展 见上表 面板里勾选对应扩展;zip 缺失会导致没法解压安装包
在线下载能力 curl 扩展或 allow_url_fopen 两个都没有时,改用「本地上传离线包」
安装目录可写 必需 面板里把目录权限放开,或换个可写目录
剩余空间 ≥ 200MB 清理空间
upload_max_filesize 本地上传离线包时需要 ≥ 20M 面板里调大,或改用在线下载

如果页面出现「主机禁用了一部分函数(disk_free_space 等),部署工具已自动跳过,不影响安装」——这是正常的,不用管。 很多虚拟主机(尤其是卡乐 / Kangle)默认禁掉 disk_free_spacechmodreadlinkputenv 这些函数,工具会先探测再调用,探测不到就跳过;「剩余空间」那一栏会显示「主机未开放查询」,也不影响部署。真正要处理的是扩展缺失,那是面板里勾一下的事。

第四步:选择安装位置

两种装法:

  • 装到根目录(默认):填 index.php 所在目录,装完访问 http://你的域名/
  • 装到子目录:填比如 shop,装完访问 http://你的域名/shop/;工具会自动把程序 .htaccess 里的 RewriteBase 改对,不用你手动改

同一个站点想放多个程序的话建议用子目录,互不干扰。

第五步:把程序拿到手

两种方式,页面都支持:

方式一:在线下载(推荐)

点「开始下载并解压」,工具会从上游仓库拉约 15MB 的安装包,分块下载(每块 4MB)——这样即使主机把 upload_max_filesize 卡得很小、或者一次请求不能跑太久,也能拉完。GitHub 直连不通时会自动切换国内加速源,五个源逐个试。

包内自带 vendor/ 依赖,不需要 composer,也不用你在主机上跑任何命令。

方式二:本地上传离线包

如果你的主机连外网都不通,就在能上网的机器上下载官方 zip:

https://github.com/lizhipay/acg-faka/archive/refs/heads/main.zip

然后在页面第 3 步的「本地上传离线包」里传上去。注意页面会显示主机允许的 upload_max_filesize / post_max_size,包约 15MB,主机限制小于这个数就得先调大,或者回到方式一。

解压完成后,页面会告诉你展开了多少个顶层条目。

第六步:建运行目录 + 检查依赖

点「创建运行目录并检查依赖」,工具会做三件事:

  1. 建出程序运行所需的目录:runtime/(含日志、缓存、会话、模板编译等子目录)、assets/cache/app/Plugin/
  2. 给这些目录放开写权限
  3. 校验 vendor/autoload.phpindex.php 是否就位——依赖完整才说明包没下坏

第七步:伪静态

acg-faka 用的是「伪静态 + 入口文件」的路由方式,所以这一步不能跳。

  • Apache / LiteSpeed / 卡乐(Kangle):程序包自带 .htaccess,一般零配置就能用。工具会顺手把里面的安全规则和 RewriteBase 处理好。
  • Nginx:虚拟主机如果是 Nginx(或面板里没提供 .htaccess),把页面给的规则贴到站点配置里:
location ~* ^/(runtime|kernel|config|vendor)/                { return 404; }
location ~  /\.(?!well-known)                                { return 404; }
location ~* \.(log|sql|sqlite|db|db-wal|db-shm|bak|old|save|orig|swp|swo|tmp|ini|lock)$  { return 404; }
location ~* (~|composer\.(json|lock)|package(-lock)?\.json)$ { return 404; }
location / {
    try_files $uri $uri/ /index.php?s=$uri&$args;
}

装完程序、进过一次安装向导之后,回到第 5 步点「检测伪静态是否生效」,页面会调程序自己的接口确认规则真的生效了——比你自己访问首页猜要靠谱。

第八步:走 acg-faka 自己的安装向导

点页面上的「打开安装向导」,三步:

  1. 环境检测:程序自己再查一遍,全绿就下一步
  2. 数据库:填你在面板里建好的库名 / 用户名 / 密码(127.0.0.1localhost)。这一步会建表并导入语言包,需要等十几秒
  3. 管理员:填邮箱、昵称、登录密码

装完后前台就是商城首页,后台在:

http://你的域名/admin

会用邮箱 + 密码 + 验证码登录(验证码依赖 gd 扩展,看不到验证码就是 gd 没开)。

一个实测会遇到的坑:第 2 步如果卡在「导入语言包」不动了,别急着重装。程序是在导入语言包之前就写了安装锁文件,所以这时候刷新或重试会提示「您已经安装过了」——其实已经装好了,直接去 /admin 登录即可。装完去数据库看一眼,会有 30 张表、上万行语言数据。

第九步:收尾清单

  • 删掉 deploy.php:页面第 6 步有「删除本部署文件」按钮。程序自带的 .htaccess 会拦掉除 index.php 以外的 PHP 文件,但自己删掉最干净
  • 改掉初始管理员密码,别用安装时随手填的那个
  • 确认伪静态:第 5 步的检测通过、首页和后台都能正常刷新
  • 配好备份:虚拟主机通常在面板里有「备份」功能,至少把数据库定时备一份
  • 想省事的话,装完把上面这份流程在面板里记一笔,下次换空间直接照做

常见问题

打开 deploy.php 就 500 / 白屏?

按这三条查:

  1. PHP 版本太低:低于 7.0 时页面会给一页「PHP 版本过低」的提示(不会白屏);程序本体要求 8.0+
  2. 主机禁用了函数:工具已尽量跳过(见第三步的说明),如果还有别的函数被禁,页面会显示具体文件和行号
  3. 文件权限:suPHP / suEXEC 主机要求 PHP 文件 644、目录 755,权限过宽会 500

提示「安装包不完整」?

本地上传的包小于 1MB 会被拒(正常包约 15MB),通常是上传被主机中断了。重传一次,或者改用在线下载。

解压失败 / 提示没有 zip 扩展?

面板里给当前 PHP 版本勾上 zip。这个扩展是解压安装包必需的,没有替代方案。

在线下载一直失败?

工具会依次试五个下载源(GitHub 官方 + 几个国内加速)。全失败一般是主机完全不通外网,那就用「本地上传离线包」。

安装向导提示「您已经安装过了」?

说明安装锁已经写了,去 /admin 登录即可,不用重装。真要重装,得先清空数据库并删掉程序目录里的安装锁文件。

后台登录看不到验证码?

gd 扩展。

部署工具会不会把我站点的入口页面覆盖掉?

解压的是 acg-faka 自己的 index.php,会占用站点根目录的入口。所以如果你根目录已经有别的程序(比如博客),请用子目录安装(第四步填 shop 之类)。

关于合规

acg-faka 是 MIT 协议的开源项目,但作者在仓库 README 里明确写了:本程序初衷是提供学习和研究机会,未取得合法资质,严禁用于任何商业用途,尤其是禁止利用本程序搭建平台进行商品销售。 部署和使用前请自行确认合规性——工具只负责把程序装起来,不改变这一点。

相关链接

装的过程中卡在哪一步,把页面上的提示原样发出来就行——部署工具从 v1.1 起会把出错的文件和行号显示在页面上,不会再白屏让你猜。