如果您希望获取最新的 PHP 源代码树,可以通过 Git 获取。需要注意的是,Git 版本是开发版本,因此通常不稳定,甚至可能无法正确编译。不过,使用 Git 的优势在于,您可以获取最新的修复和更新,而无需等待正式发布。
PHP 使用一个高级的配置系统,需要您具备以下工具。re2c 仅供开发人员使用,可以从这里获取。所有其他实用程序都可以从GNU FTP 站点获取。
如果您遇到问题,还可以查看有关buildconf 失败的部分。
git clone https://github.com/php/php-src.git
cd php-src
git checkout PHP-7.4
git checkout PHP-8.0
git checkout PHP-8.1
git checkout PHP-8.2
git checkout master
请注意,某些 autoconf 和 libtool 的组合在组合使用时可能无法正常工作,尤其是在 PHP 的历史版本中。有关详细信息,请参见下面。
此外,某些版本的 autoconf 可能会生成AC_PROG_CPP called before AC_PROG_CC
的警告。这些消息通常可以忽略。
./buildconf
以生成配置脚本。这可能需要一段时间。还有许多其他内容,例如文档的 XML 源代码,可通过 Git 获取。请参见Git 服务器的基于 Web 的视图以查看可用内容。
PHP Wiki 上有一个有用的Git 常见问题解答,其中提供了使用 PHP Git 存储库的有用提示和备忘单,如果您想参与 PHP 的开发,则Git 工作流程页面也可能对您感兴趣。
PHP 手册托管在 Git 上。要检出 PHP 手册的最新英文版本
git clone https://github.com/php/doc-en.git ./phpdoc-en
libtool 1.4.2 似乎存在问题。建议您使用 libtool 1.4 以及 autoconf 2.13 和 automake 1.4。您还应确保 autoconf、automake 和 libtool 安装在同一目录中。libtool 1.5 将无法工作。
以下组合已知可与 PHP 5.3 及以下版本一起使用
从 PHP 4.3 开始,不再需要 automake 及其 aclocal 程序来构建 PHP。
如果您的计算机上安装了多个版本的 autoconf,这在许多 UNIX 系统中很常见,您可以在运行 buildconf 时设置 PHP_AUTOCONF 和 PHP_AUTOHEADER 变量以指示它应该使用哪些版本,例如
PHP_AUTOCONF=autoconf213 PHP_AUTOHEADER=autoheader213 ./buildconf
PHP 仅支持 flex 2.5.4,**不支持**更高版本,因为它们破坏了向后兼容性。请注意,PHP 5.3 及更高版本根本不需要 flex。