如果您想取得最新的 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
來產生 configure 腳本。這可能需要一些時間。還有許多其他資源,例如文件用的 XML 原始碼,都可以透過 Git 取得。請參閱基於網頁的 Git 伺服器檢視,以查看可用的資源。
PHP Wiki 有一個很有用的Git 常見問題,其中提供了使用 PHP Git 儲存庫的實用技巧和速查表。如果您想參與 PHP 的開發,Git 工作流程頁面也可能會讓您感興趣。
PHP 手冊託管在 Git 上。要 checkout 最新英文版的 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 起,建置 PHP 不再需要 automake 及其 aclocal 程式。
如果您的電腦上安裝了多個版本的 autoconf(這在許多 UNIX 系統中很常見),您可以在執行 buildconf 時設定 PHP_AUTOCONF 和 PHP_AUTOHEADER 變數,以指定要使用的版本,例如:
PHP_AUTOCONF=autoconf213 PHP_AUTOHEADER=autoheader213 ./buildconf
PHP 只支援 flex 2.5.4,不支援後續版本,因為它們破壞了向下相容性。請注意,PHP 5.3 及更高版本根本不需要 flex。