PHP 源代码
一句话简介
PHP 解释器核心源码仓库,包含语言运行时、扩展机制、标准库及相关开发工具。
标签
适用应用场景
- 开发或维护 PHP 扩展
- 调试与优化 PHP 运行时
- 研究 PHP 语言实现
- 构建定制化 PHP 版本
README 中文摘要
PHP 解释器
PHP 是一种通用脚本语言,因其快速、灵活且易于实践,尤其适合 Web 开发。它既能为个人博客提供动力,也支撑着全球最热门的大型网站。项目采用 BSD-3-Clause 许可证发布。
安装与构建
预编译版本
若希望快速运行 PHP,可直接获取预编译包或二进制文件。
Windows 用户可从官方 Windows 下载站获取压缩包,解压后其中的 *.exe 文件即可使用。其他操作系统应按照 PHP 安装指南选择适合的软件包。
从源码构建
在 Linux 或 macOS 上,从 Git 仓库进行最小化构建需要安装 autoconf、bison 和 re2c;默认构建还需要 libxml2 与 libsqlite3。
Ubuntu 与 Fedora 可通过系统包管理器安装构建依赖:
# Ubuntu
sudo apt install -y pkg-config build-essential autoconf bison re2c \
libxml2-dev libsqlite3-dev
# Fedora
sudo dnf install re2c bison autoconf make ccache \
libxml2-devel sqlite-devel
macOS 可使用 Homebrew 或 MacPorts:
brew install autoconf bison re2c libiconv libxml2 sqlite
# 或
sudo port install autoconf bison re2c libiconv libxml2 sqlite3
生成配置脚本并选择构建模式:
./buildconf
# 开发构建:启用调试
./configure --enable-debug
# 生产构建
./configure
可使用 ./configure --help 查看全部配置选项。随后编译源码,-jN 用于指定并行任务数,通常应与可用 CPU 核心数一致:
make -j4
测试与安装
成功编译后,通过内置测试套件验证源码:
make test
测试默认并行执行,最多使用 10 个逻辑处理器。可通过 TEST_PHP_ARGS 或 TESTS 调整并发数:
# 最多运行 4 个并发任务
make TEST_PHP_ARGS=-j4 test
# 仅运行指定目录
make TESTS=tests/lang/ test
使用 -j1 可强制串行测试。测试和质量保证的更多信息可查阅官方 QA 网站。
完成构建与测试后安装 PHP:
make install
根据当前用户权限和安装前缀,该命令可能需要管理员权限。
扩展机制
PHP 本身包含多个核心扩展,扩展机制则用于提供额外功能。其他扩展可从 PIE 扩展目录获取,并通过 PIE 安装工具安装;PECL 也仍可使用,但已被弃用:
pie install example/package
扩展能够复用 PHP 的运行时、类型系统和标准库,为语言增加数据库、网络、图像处理及语言绑定等能力。
参与开发
PHP 源码托管于 GitHub 的 php/php-src 仓库。贡献者通常通过派生仓库并提交拉取请求参与开发。一般讨论在 GitHub 进行,开发者也可使用官方 Internals 邮件列表。
新功能必须提出 RFC,并在获得开发者接受后实现;缺陷修复通常无需 RFC。提交信息应引用对应问题:GitHub Issue 使用 GH-NNNNNN,旧缺陷跟踪系统中的工单使用 #NNNNNN。例如:
Fix GH-7815: php_uname doesn't recognise latest Windows versions
Fix #55371: get_magic_quotes_gpc() throws deprecation warning
仓库内的贡献指南、编码规范、内部文档、邮件列表规则和发布流程文档说明了拉取请求审核与合并方式,以及参与项目所需的详细约定。
摘要更新于 2026-10-23 00:30:20
· 原文 5413 字符
· md5 7964123a850c…