Phorge 介绍与选型指南
Phorge(Phabricator 社区续作)的定位、架构、功能、适用场景与 GitLab/Gitea/Phabricator 量化对比,数据均于 2026-10-28 联网核对。
Phorge 介绍与选型指南
目标:用一篇文档回答「Phorge 是什么、能不能替代 Phabricator、与 GitLab/Gitea 相比该选谁」。文中版本、星数、许可、发版节奏与对比数据均于 2026-10-28 联网核对官方源(GitHub Releases、仓库页面、徽章接口、phorge.it),来源逐条列在第八章;本篇不含本地部署实测,完整安装实测见《Phorge 2026.27 Ubuntu 22.04 安装指南》。
一、环境信息
本篇是认知与选型文档,不要求读者先装好服务器。为了让后文的版本口径可复现,先固定本次查证所用的信息环境:
- 查证日期:2026-10-28(Asia/Shanghai)
- 联网方式:直连 GitHub 与 shields.io 徽章接口;GitHub API 触发限流时改用 Releases Atom 订阅与仓库页面 HTML
- 对照对象:Phorge(phorgeit/phorge)、GitLab 社区版(gitlabhq/gitlabhq)、Gitea(go-gitea/gitea)、Phabricator(phacility/phabricator)
- 目标部署环境(后续篇目实测口径):Ubuntu 22.04.5 LTS、PHP 8.1.2、MySQL 8.0.46、Nginx 1.18.0
💡 说明:A1 类文档只做联网溯源,不写「本机跑通」类结论;凡是需要执行命令才能得到的数字(如表数量、启动耗时),一律放到安装篇与命令篇,用真实回显支撑。
二、软件概述
Phorge 是一套用 PHP 编写的软件开发协作平台,定位是已停止演进的上游 Phabricator 的社区续作。它把代码评审、代码托管浏览、缺陷跟踪、项目协作、文档、内部聊天等应用打包在同一个 Web 系统里,数据统一落在 MySQL。
2.1 身份与维护信息
| 项目 | 实测值(2026-10-28) | 取证方式 |
|---|---|---|
| 仓库 | phorgeit/phorge | GitHub 仓库页 |
| 官方站点 | https://www.phorge.it/(HTTP 200) | curl -I 实测 |
| 最新稳定版 | 2026.27 | Releases Atom,条目时间 2026-06-30 |
| 星标数 | 209 | shields.io stars/phorgeit/phorge |
| 开源许可 | Apache-2.0 | shields.io license/phorgeit/phorge |
| 主要语言 | PHP | 仓库语言统计 |
| 项目定位 | Phabricator 的社区维护分支 | 仓库 README 首段 |
README 原文写着「Phorge is a community-maintained fork of Phabricator」,并列出它覆盖的能力:代码评审与审计、仓库托管与浏览、缺陷跟踪、项目管理、团队沟通、文档编写等。
2.2 版本与发版节奏
Phorge 的版本号采用「年份.周序号」形式(如 2026.27 表示 2026 年内的第 27 个发布点),但不是每周发版。把 Releases 页面最近 10 个条目的时间排开,能看出它的真实节奏:
| 版本标签 | Releases 页面时间 | 间隔 |
|---|---|---|
| 2026.27 | 2026-06-30 | 约 6.4 个月 |
| 2025.51 | 2025-12-18 | 约 7.6 个月 |
| 2025.18 | 2025-05-01 | 约 8.2 个月 |
| 2024.35 | 2024-08-24 | 约 3.5 个月 |
| 2024.19 | 2024-05-10 | 约 4.1 个月 |
| 2023.49 | 2024-01-02 | 约 4.3 个月 |
| 2023.32 | 2023-08-25 | 约 2.5 个月 |
| 2023.23 | 2023-06-09 | 约 1.8 个月 |
| 2023.17 | 2023-04-15 | — |
结论:近三年每年大约 2–4 个发布点,属于「低频、攒批发布」模式,适合按季度规划升级窗口的团队;如果你的团队要求「每周都有补丁版本」,它并不匹配。
💡 技术拓展:同类平台的上游模式差异很大。Phorge 走「低频发布 + 自行拉源码」;GitLab 走「月度发布 + 官方软件包」;Gitea 走「高频小版本 + 单二进制」。本文对比时把「发版频率」单列成维度,正是因为它直接决定运维的升级工作量,而不是单纯的版本号美观问题。
三、核心架构
Phorge 是典型的「单体 PHP 应用 + 数据库 + 后台守护进程」结构,没有微服务拆分,也不依赖消息中间件。
3.1 组件分层
| 层 | 组件 | 作用 |
|---|---|---|
| Web 入口 | webroot/index.php | 所有请求经重写规则汇入,按 __path__ 参数路由 |
| 应用层 | src/applications/* | Maniphest、Differential、Diffusion、Phriction 等应用模块 |
| 数据层 | MySQL 8.x,多库分应用 | 每个应用一个 phabricator_<app> 库,公共元数据在 phabricator_meta_data |
| 文件存储 | 本地磁盘或 S3 | 由 storage.local-disk.path 或 S3 配置决定 |
| 后台任务 | bin/phd 守护进程池 | 处理邮件、索引、仓库拉取、触发器 |
| 实时通知 | bin/aphlict(Node.js) | WebSocket 推送,默认 22280/22281 端口 |
| 命令行 | bin/* 工具集 | 存储、配置、守护进程、缓存、搜索等运维入口 |
3.2 请求与任务流
- 浏览器访问
http://192.168.1.100:8138/,Nginx 把路径重写为/index.php?__path__=/<path>; - PHP-FPM 执行
index.php,框架按phabricator.base-uri校验 Host,再分发到具体应用控制器; - 写操作产生的副作用(发邮件、建索引、拉仓库)不进请求线程,而是写入任务表;
bin/phd的 Taskmaster 守护进程轮询任务表并执行,邮件与搜索索引因此是「准实时」而非同步完成。
⚠️ 注意:
phabricator.base-uri必须与浏览器实际访问的协议、域名、端口完全一致,否则首页会返回 500 并提示Site Not Found。这一点在安装篇会给出真实报错与修复过程。
3.3 数据模型特征
- 按应用分库:
bin/storage databases会列出数十个phabricator_*库,单库故障只影响对应应用; - 补丁式建表:所有表结构变更以
resources/sql/autopatches/下的补丁文件表达,升级时由bin/storage upgrade顺序应用; - PHID 全局标识:所有对象用
PHID-USER-<id>这类全局标识作为跨库外键,避免库间强约束。
四、功能特性
Phorge 的功能面比「Git 托管平台」宽,核心是「评审 + 任务 + 文档 + 聊天」四件套。
4.1 应用清单
| 应用 | 关键能力 | 对应常见工具 |
|---|---|---|
| Differential | 提交级代码评审、补丁版本对比、内联评论 | GitHub Pull Request 评审 |
| Diffusion | Git/SVN/Mercurial 仓库托管与浏览、提交历史、 blame | Gitea/GitLab 仓库页 |
| Maniphest | 任务、缺陷、优先级、子任务、自定义字段 | Jira Issue |
| Phriction | 内置 Wiki,支持层级文档 | Confluence/Wiki |
| Conpherence | 站内聊天室与消息 | Slack 轻量替代 |
| Audit | 提交审计、责任人确认 | 代码合规审计 |
| Harbormaster | 构建计划与外部 CI 回调 | Jenkins/GitLab CI 的触发器 |
| Herald | 事件规则引擎(满足条件自动加评审人、打标签、发通知) | 自动化规则 |
4.2 权限与流程能力
- 基于 Policy 的细粒度权限:对象可设「仅项目成员可见」「仅特定用户可编辑」;
bin/user empower/approve提供账号管理员与审批开关,适合内网多团队隔离;- 所有对象都有事务日志(Transaction),变更可追溯;
- Conduit API 覆盖大部分应用,可与外部系统集成。
4.3 已知短板
- 没有开箱即用的 CI Runner,Harbormaster 只做「构建编排 + 结果回传」;
- 移动端体验弱,官方以桌面浏览器为主;
- 升级只能整站升级,缺少 LTS 分支与热补丁通道;
- 官方不提供 apt/yum 仓库,安装需自行拉源码并配置 Web 服务器。
五、快速开始(最小可用示例)
下面给出官方推荐路径的最小步骤,便于评估阶段快速起一个可登录的实例。这些命令在安装篇中用 Ubuntu 22.04.5 LTS 完整实测过,此处只保留主干,真实回显与排障过程见 《Phorge 2026.27 Ubuntu 22.04 安装指南》。
5.1 依赖与源码
sudo apt-get update
sudo apt-get install -y nginx php8.1-fpm php8.1-cli php8.1-mysql php8.1-curl \
php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip php8.1-intl mysql-server git curl
sudo mkdir -p /var/www
sudo tar -xzf phorge-2026.27.tar.gz -C /var/www
sudo mv /var/www/phorge-2026.27 /var/www/phorge
预期结果:/var/www/phorge 下出现 bin/、conf/、src/、webroot/ 等目录;php -v 显示 8.1.x。
5.2 数据库与基础配置
sudo mysql -e "CREATE DATABASE phabricator_meta_data CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
sudo mysql -e "CREATE USER 'phorge'@'localhost' IDENTIFIED BY 'q1w2e3r4';"
sudo mysql -e "GRANT ALL PRIVILEGES ON \`phabricator\\_%\`.* TO 'phorge'@'localhost'; FLUSH PRIVILEGES;"
cd /var/www/phorge
sudo bin/config set mysql.host localhost
sudo bin/config set mysql.user phorge
sudo bin/config set mysql.pass q1w2e3r4
sudo bin/config set phabricator.base-uri 'http://192.168.1.100:8138'
sudo bin/storage upgrade --force
预期结果:bin/storage upgrade 末尾出现 ANALYZED Analyzed 500 tables.。
5.3 Web 服务器与首次登录
Nginx 站点配置最少需要一条「把任意路径重写到 index.php?__path__=/<path>」的规则,否则首页会报 Request parameter '__path__' is set, but empty。完整配置见安装篇。
sudo nginx -t && sudo systemctl reload nginx
curl -s -o /dev/null -w '%{http_code}\n' http://192.168.1.100:8138/
预期结果:首次访问返回 302,跳转到 /auth/register/;注册首个账号后该账号自动成为管理员。
💡 说明:快速开始只负责「能打开、能登录」。生产可用还需要
bin/phd守护进程、bin/aphlict通知服务、备份与 systemd 托管,这些在安装篇与命令篇展开。
六、适用场景与限制
6.1 适合的场景
- 中大型研发团队的流程中枢:代码评审、任务、文档、审计都要求强流程与可追溯,Phorge 的 Transaction 日志与 Policy 权限比轻量 Git 平台更完整;
- 内网/私有化部署:全部数据落在自有 MySQL 与磁盘,不依赖 SaaS;
- 从 Phabricator 迁移:应用命名与数据模型延续 Phabricator,迁移成本低于换到 GitLab;
- 需要「评审 + 任务 + Wiki + 聊天」一体化:避免多套系统账号割裂。
6.2 不适合的场景
- 只想要一个轻量 Git 托管:Gitea 单二进制部署更省事;
- 强依赖内置 CI/CD:Phorge 需要外接构建系统;
- 要求厂商 SLA 与商业支持:Phorge 是社区项目,无官方商业支持合同;
- 移动端优先:其 Web 界面未针对手机做深度适配。
6.3 前置条件清单
| 条件 | 要求 | 说明 |
|---|---|---|
| 操作系统 | Ubuntu 22.04.x / 同类 Linux | 官方文档以 Linux 为主 |
| PHP | 8.1 及以上 | 实测 8.1.2 可用,扩展见安装篇 |
| 数据库 | MySQL 8.0(MariaDB 需自行验证) | 官方以 MySQL 为主 |
| Web 服务器 | Nginx 或 Apache | 需支持 URL 重写 |
| Node.js | 运行 aphlict 时需要 | 实测 Node 12.22.9 可运行 |
| 磁盘 | 源码 + 数据库 + 附件 | 小团队 20GB 起步 |
七、同类选型对比
对比口径统一为「2026-10-28 能查到的公开数据」,其中星数是仓库热度而非产品质量,版本与许可以官方仓库为准。
7.1 量化对照表
| 维度 | Phorge | GitLab 社区版 | Gitea | Phabricator(上游) |
|---|---|---|---|---|
| 最新版本 | 2026.27(2026-06-30) | 持续滚动发布 | v28.2.0 | 无 Releases 条目 |
| GitHub 星数 | 209 | 25k | 59k | 12k |
| 开源许可 | Apache-2.0 | MIT(社区版) | MIT | Apache-2.0 |
| 技术栈 | PHP + MySQL | Ruby on Rails + PostgreSQL | Go + 多数据库 | PHP + MySQL |
| 部署形态 | 源码 + Nginx/Apache + PHP-FPM | 官方软件包/源码 | 单二进制/包管理 | 源码 + Web 服务器 |
| 发版节奏 | 每年 2–4 个发布点 | 月度 | 高频小版本 | 基本停更 |
| 内置 CI | 无 Runner,仅构建编排 | 完整 CI/CD | Gitea Actions | 无 |
| 评审模型 | 提交级补丁评审 | 合并请求 | 合并请求 | 提交级补丁评审 |
| 任务/文档/聊天 | 全部内置 | Issue + Wiki,聊天需外接 | Issue + Wiki | 全部内置 |
| 数据模型 | 按应用分库 | 单库 | 单库 | 按应用分库 |
数据来源:Phorge/Gitea/Phabricator 星数与许可取自 shields.io 徽章接口;版本取自各自 Releases 页面;GitLab 星数取自 gitlabhq/gitlabhq 仓库页。
7.2 关键差异解读
- 星数差两个数量级,不代表能力差两个数量级:Phorge 的用户群集中在「从 Phabricator 迁移过来的团队」,社区规模小但功能面反而更宽;
- 许可都宽松:Apache-2.0 与 MIT 都可商用闭源二次开发,选型时不必因许可纠结;
- 真正的分水岭是「要不要内置 CI」:要 CI 选 GitLab,要轻量 Git 选 Gitea,要「评审 + 任务 + 文档」强流程选 Phorge;
- 上游 Phabricator 已不适合新项目:其 Releases 页面无任何版本条目,官网
phabricator.org在 2026-10-28 实测 HTTP 000(无法访问),新项目应直接选 Phorge。
7.3 「如果……则……」选型建议
| 你的情况 | 建议 |
|---|---|
| 现有 Phabricator 需要继续维护、又不想改工作流 | 选 Phorge,按本文安装篇原样迁移 |
| 团队 50 人以内,只要 Git + Issue + CI | 选 Gitea 或 GitLab |
| 需要代码评审、任务、Wiki、审计、站内聊天一体化 | 选 Phorge |
| 需要厂商 SLA、商业支持、月度安全补丁 | 选 GitLab 商业版 |
| 要求单二进制、低运维成本 | 选 Gitea |
八、参考链接
- Phorge 仓库:https://github.com/phorgeit/phorge (2026-10-28 访问)
- Phorge Releases Atom:https://github.com/phorgeit/phorge/releases.atom (2026-10-28 访问,最新条目 2026.27)
- Phorge 官网:https://www.phorge.it/ (2026-10-28 访问,HTTP 200)
- 星数与许可徽章:https://img.shields.io/github/stars/phorgeit/phorge 、https://img.shields.io/github/license/phorgeit/phorge (2026-10-28 查询)
- Gitea 版本徽章:https://img.shields.io/github/v/release/go-gitea/gitea (查询结果 v28.2.0)
- GitLab 仓库:https://github.com/gitlabhq/gitlabhq (2026-10-28 访问,星数 25k)
- Phabricator 仓库:https://github.com/phacility/phabricator (2026-10-28 访问,星数 12k、Apache-2.0)
- 站内延伸阅读:《Phorge 2026.27 Ubuntu 22.04 安装指南》、《Phorge 2026.27 配置参数详解》、《Phorge 2026.27 常用 CLI 与运维命令详解》