PHP 源代码

🔤 C ★ 41567 ⑂ 0 daily #2 (+716) 抓取 2026-10-24

一句话简介

PHP 解释器核心源码仓库,包含语言运行时、扩展机制、标准库及相关开发工具。

标签

  • PHP
  • C语言
  • 解释器
  • 开源开发

适用应用场景

  • 开发或维护 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…