php/php-src

开发工具

PHP 语言源码仓库:既用于运行 PHP Web 应用,也用于构建和扩展解释器本身。

41,708
8,479
C
BSD-3-Clause
创建于 15 年前

这个仓库是 PHP 解释器的源代码。PHP 是一门通用脚本语言,尤其适合 Web 开发。大多数读者会通过安装好的 PHP 使用它,而不是从源码构建;仓库实际服务两类人:部署 PHP 应用的人和构建、修改解释器的贡献者。

使用 PHP 与从源码构建是两条路径

如果目的是运行 PHP 代码,文档给出的方式是预编译包:Windows 二进制文件来自 windows.php.net,解压后即可使用 *.exe;其他系统参见手册的安装章节。从 Git 构建则是另一条路径,最小构建需要 autoconf、bison 和 re2c,默认构建还需要 libxml2 和 libsqlite3。README 分别给出了 Ubuntu、Fedora、macOS 和 MacPorts 的依赖包列表,并建议开发构建使用 --enable-debug,构建成功后可以安装。因此,从源码构建的前提是编译工具链和上述库,而不只是一个 PHP 运行时。

测试与扩展

编译后的源码带有较完整的测试套件,通过 make test 运行。默认并行执行,最多使用检测到的 10 个逻辑处理器;可以通过 TEST_PHP_ARGS 或 TESTS 调整并发数或只测试指定目录。更详细的质量保证信息在 qa.php.net。内置扩展之外的功能来自 PIE 扩展列表,并用 PIE 安装;PECL 被标注为已弃用,这对选择扩展来源的人是一个实际区别。

贡献方式

贡献并非随意提交即可:缺陷修复可以直接发 pull request,但新功能需要经过 RFC 并由开发者按既定投票流程接受。提交信息用 GH-NNNNNN 引用 GitHub issue,用 #NNNNNN 引用旧的 bugs.php.net 工单。更多规则分散在贡献指南、编码规范、内部文档和发布流程文档中,并有明确的 Git 工作流说明 pull request 如何合并。

许可证与当前背景

PHP 以 Modified BSD 许可证发布(SPDX:BSD-3-Clause),源码可按这些条款使用。另外,Hacker News 上围绕 2026 年 10 月安全版本的讨论涉及严重的远程代码执行漏洞和协同披露;评论者对披露时间线有争议,该讨论的置顶条目链接了多份公告和项目的安全版本说明 PHP 安全版本讨论。评估该解释器的人应查阅官方公告和安装文档,而不应把仓库 README 当作安全指南。

HotRepo 点评

该项目历史久远;记录到的榜单数据太少,无法推断趋势,也不构成采用或回避它的理由。

本文由 AI 根据项目 README 生成,更新于 2026年10月29日,以项目官方文档为准。

Hacker News 讨论

PHP 8.2.35
▲ 1,107 · 581 条评论 · 2026年10月21日
PHP 7 Released
▲ 449 · 307 条评论 · 2015年12月2日
PHP source code now hosted on Github
▲ 138 · 14 条评论 · 2012年3月19日