Phorge 介绍与选型指南

Phorge(Phabricator 社区续作)的定位、架构、功能、适用场景与 GitLab/Gitea/Phabricator 量化对比,数据均于 2026-10-28 联网核对。

PhorgePHPPHP 应用项目管理工单系统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/phorgeGitHub 仓库页
官方站点https://www.phorge.it/(HTTP 200)curl -I 实测
最新稳定版2026.27Releases Atom,条目时间 2026-06-30
星标数209shields.io stars/phorgeit/phorge
开源许可Apache-2.0shields.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.272026-06-30约 6.4 个月
2025.512025-12-18约 7.6 个月
2025.182025-05-01约 8.2 个月
2024.352024-08-24约 3.5 个月
2024.192024-05-10约 4.1 个月
2023.492024-01-02约 4.3 个月
2023.322023-08-25约 2.5 个月
2023.232023-06-09约 1.8 个月
2023.172023-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 请求与任务流

  1. 浏览器访问 http://192.168.1.100:8138/,Nginx 把路径重写为 /index.php?__path__=/<path>;
  2. PHP-FPM 执行 index.php,框架按 phabricator.base-uri 校验 Host,再分发到具体应用控制器;
  3. 写操作产生的副作用(发邮件、建索引、拉仓库)不进请求线程,而是写入任务表;
  4. 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 评审
DiffusionGit/SVN/Mercurial 仓库托管与浏览、提交历史、 blameGitea/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 为主
PHP8.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 量化对照表

维度PhorgeGitLab 社区版GiteaPhabricator(上游)
最新版本2026.27(2026-06-30)持续滚动发布v28.2.0无 Releases 条目
GitHub 星数20925k59k12k
开源许可Apache-2.0MIT(社区版)MITApache-2.0
技术栈PHP + MySQLRuby on Rails + PostgreSQLGo + 多数据库PHP + MySQL
部署形态源码 + Nginx/Apache + PHP-FPM官方软件包/源码单二进制/包管理源码 + Web 服务器
发版节奏每年 2–4 个发布点月度高频小版本基本停更
内置 CI无 Runner,仅构建编排完整 CI/CDGitea 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

八、参考链接