php/php-src

GitHub: php/php-src

PHP 编程语言的官方解释器源代码,包含 Zend 引擎和核心扩展的实现。

Stars: 39948 | Forks: 8014

PHP
# PHP 解释器 PHP 是一种流行的通用脚本语言,特别适合于 Web 开发。PHP 快速、灵活且实用,驱动着从你的博客到世界上最受欢迎的网站的一切。PHP 在 [PHP License v3.01](LICENSE) 下分发。 [![Push](https://github.com/php/php-src/actions/workflows/push.yml/badge.svg)](https://github.com/php/php-src/actions/workflows/push.yml) [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/php.svg)](https://issues.oss-fuzz.com/issues?q=project:php) ## 文档 PHP 手册可在 [php.net/docs](https://www.php.net/docs) 获取。 ## 安装 ### 预构建包和二进制文件 预构建包和二进制文件可用于快速上手并运行 PHP。 对于 Windows,可以从 [windows.php.net](https://windows.php.net) 获取 PHP 二进制文件。解压归档后,`*.exe` 文件即可直接使用。 对于其他系统,请参阅 [安装章节](https://www.php.net/install)。 ### 构建 PHP 源代码 *对于 Windows,请参阅 [在 Windows 上构建你自己的 PHP](https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2)。* 要从 Git 构建一个最小化的 PHP,你需要 autoconf、bison 和 re2c。对于默认构建,你还需要 libxml2 和 libsqlite3。 在 Ubuntu 上,你可以使用以下命令安装这些依赖: ``` sudo apt install -y pkg-config build-essential autoconf bison re2c libxml2-dev libsqlite3-dev ``` 在 Fedora 上,你可以使用以下命令安装这些依赖: ``` sudo dnf install re2c bison autoconf make libtool ccache libxml2-devel sqlite-devel ``` 在 MacOS 上,你可以使用 `brew` 安装这些依赖: ``` brew install autoconf bison re2c libiconv libxml2 sqlite ``` 或者使用 `MacPorts`: ``` sudo port install autoconf bison re2c libiconv libxml2 sqlite3 ``` 生成 configure: ``` ./buildconf ``` 配置你的构建。推荐在开发时使用 `--enable-debug`,有关选项的完整列表,请参阅 `./configure --help`。 ``` # 用于开发 ./configure --enable-debug # 用于生产 ./configure ``` 构建 PHP。为了加快构建速度,请使用 `-j` 参数指定最大作业数: ``` make -j4 ``` 作业数通常应与可用核心数相匹配,这可以使用 `nproc` 来确定。 ## 测试 PHP 源代码 PHP 附带了一个广泛的测试套件,在成功编译源代码后,使用 `make test` 命令来运行此测试套件。 可以通过在 `TEST_PHP_ARGS` 或 `TESTS` 中设置 `-jN` 来使用多核运行测试: ``` make TEST_PHP_ARGS=-j4 test ``` 这将以最多 4 个并发作业运行 `make test`:通常,最大作业数不应超过可用核心数。 使用 `TEST_PHP_ARGS` 或 `TESTS` 变量仅测试特定目录: ``` make TESTS=tests/lang/ test ``` [qa.php.net](https://qa.php.net) 网站提供了关于测试和质量保证的更多详细信息。 ## 安装从源代码构建的 PHP 成功构建(和测试)后,可以使用以下命令安装 PHP: ``` make install ``` 根据你的权限和前缀设置,`make install` 可能需要超级用户权限。 ## PHP 扩展 扩展在 PHP 之上提供额外的功能。PHP 包含许多必要的捆绑扩展。可以在 PHP 扩展社区库 - [PECL](https://pecl.php.net) 中找到其他扩展。 ## 贡献 PHP 源代码位于 [github.com/php/php-src](https://github.com/php/php-src) 的 Git 仓库中。非常欢迎通过 Fork 仓库并发送 Pull Request 的方式做出贡献。 讨论在 GitHub 上进行,但根据主题不同,也可以转发到官方 PHP 开发者邮件列表 internals@lists.php.net。 新功能需要 RFC 并且必须被开发者接受。有关流程的更多信息,请参阅 [征求意见 - RFC](https://wiki.php.net/rfc) 和 [PHP 功能投票](https://wiki.php.net/rfc/voting)。 错误修复不需要 RFC。如果错误有一个 GitHub issue,请在提交信息中使用 `GH-NNNNNN` 引用它。对于旧的 [bugs.php.net](https://bugs.php.net) Bug 追踪系统中的工单,请使用 `#NNNNNN`。 ``` Fix GH-7815: php_uname doesn't recognise latest Windows versions Fix #55371: get_magic_quotes_gpc() throws deprecation warning ``` 有关 Pull Request 如何合并的详细信息,请参阅 [Git 工作流](https://wiki.php.net/vcs/gitworkflow)。 ### 贡献者指南 请参阅仓库中的更多文档,以获取有关如何贡献的更多信息: - [为 PHP 做贡献](/CONTRIBUTING.md) - [PHP 编码标准](/CODING_STANDARDS.md) - [内部文档](https://php.github.io/php-src/) - [邮件列表规则](/docs/mailinglist-rules.md) - [PHP 发布流程](/docs/release-process.md) ## 致谢 有关为 PHP 付出努力的人员列表,请参阅 [PHP 致谢页面](https://www.php.net/credits.php)。
标签:OpenVAS, PHP, SOC Prime, Syscall, Web开发, Zend引擎, 动态语言, 后端, 基础设施, 客户端加密, 客户端加密, 客户端加密, 开发工具, 服务器端, 编程语言, 编译器, 脚本语言, 解释器