改進 PHP 需要一個可運作的建置環境來測試變更,以下章節將說明如何設定一個可運作的建置環境。
您的建置環境應具備適當的工具鏈,其中包含可運作的 C 編譯器;對於不在 Microsoft Windows 中工作的使用者,您將需要一個可運作且相容的 autotools 安裝,以及至少一個共享的 zlib 副本。
對於大多數類 Unix 作業系統,可能需要一些外部依賴項才能完成建置;如果建置因為缺少標頭檔或程式庫而失敗,則發出以下命令的變體應可解決這些依賴項,從而允許建置繼續
[sudo] yum|apt-get|ports install package[-dev[el]]
對於在Ubuntu Linux中工作的使用者,您可以執行以下命令來自動安裝依賴項
sudo apt-get build-dep php5
sudo apt-get build-dep php5-extname
下表顯示 Microsoft Windows 使用者建置 PHP 所需的項目
PHP | Visual C++ | MS SDK | DEPS | PHP SDK |
---|---|---|---|---|
5.3 | Visual Studio 2008 | 6.1 | x86 | 這裡 |
5.4 | Visual Studio 2008 | 6.1 | x86 | 這裡 |
5.5 | Visual Studio 2008 | 6.1 | x86 | 這裡 |
5.5 | Visual Studio 2012 | 不適用 | x86、x64 | 這裡 |
注意: 如果需要 Windows SDK,建議在安裝 Visual Studio 之前 先安裝 SDK。
Windows 使用者現在應該下載 PHP SDK 並解壓縮到他們的工作區,然後在適當的 Visual Studio 命令提示字元中執行以下命令
Visual Studio 2008
setenv /xp /Release /x86
cd C:\path-to-workspace
bin\phpsdk_setvars.bat
bin\phpsdk_buildtree.bat phpdev
接下來,所有人都需要透過 git 取得指定版本的 PHP 原始碼
git clone -b BRANCH https://github.com/php/php-src .
此時,您已經擁有一個可運作的建置環境和您所選 PHP 分支的原始碼,在您進行任何更改之前,最好先建立一個新的分支並切換到它,以便準備進行您接下來的精彩修改。
git checkout -b my-awesome-changes
現在所有作業系統的其餘建置流程都趨於一致(幾乎沒有差異)。
buildconf: generates the configure script for PHP
configure: configures the build of PHP and creates Makefile
make: builds PHP
make test: runs testsuite
make install: installs PHP
對於 Microsoft Windows 作業系統,這些命令如下所示
buildconf
configure --with-prefix=C:\my-awesome-php
nmake
nmake test
nmake install
而對於其他作業系統,這些命令如下所示
./buildconf
./configure --prefix=/opt/my-awesome-php
make
make test
make install
configure 腳本幾乎可以自訂 PHP 的每個方面,如需在命令提示字元中取得說明,請將 --help 作為 configure 的唯一參數傳遞。
當 configure 執行時,它會將傳入的選項儲存到可重複使用的 config.nice 中,該檔案在被呼叫時會執行 configure。
建置成功完成後,建議執行測試套件,這將有助於您識別工作中的回歸問題。執行測試套件可能需要一段時間;您可以出去跑步或吃個漢堡。
也可以透過以下方式執行一組(目錄)測試
[n]make test TESTS=sapi/cli