| 工具 | 版本/說明 |
|---|---|
| Visual C++ | 2008 Express Edition SP1 (VC9) |
| Windows SDK | 6.1 |
| PHP SDK Binary Tools | php-sdk-binary-tools-20110915.zip |
| 依賴庫 | deps-5.4-vc9-x86.7z |
| PHP 源碼 | php-5.4.x 源碼包 |
| Xdebug 源碼 | 2.2.0-dev 或對應版本 |
注意:64 位系統必須用 setenv /x86 /xp /release,不可用 /x64,否則編譯產生海量警告。
D:\php-sdk
├── bin # PHP SDK 工具
├── php54dev
│ ├── deps # 依賴庫 (include/lib/bin)
│ ├── pecl
│ │ └── xdebug # Xdebug 源碼
│ └── php-5.4.x # PHP 源碼目錄
├── script
└── share
setenv /x86 /xp /release
set PATH=D:\php-sdk\bin;%PATH%
cd D:\php-sdk\php54dev\php-5.4.xbuildconfconfigure --disable-snapshot-build --disable-debug-pack --disable-ipv6 \
--disable-zts --disable-isapi --disable-nsapi --without-t1lib \
--without-mssql --without-pdo-mssql --without-pi3web --without-enchant \
--enable-com-dotnet --with-mcrypt=static --disable-static-analyze \
--with-xdebug=shared
--with-xdebug=shared 表示編譯為動態庫 php_xdebug.dll,需確保 Xdebug 源碼位置正確(pecl/xdebug)。
nmake(漫長等待,忽略 Warning)nmake snap 生成發布包結構D:\php-sdk\php54dev\php-5.4.x\Release_TS\ 下包含 php_xdebug.dll 及完整 PHP 二進制文件。
ext\calendar\jewish.c : warning C4819: 文件包含當前代碼頁(936)無法表示的字符
ext\calendar\jewish.c(324) : error C2001: 常量中換行
解決:用 EditPlus 打開該文件,編碼選 West European (Windows),另存為 UTF-8。
若需編譯 APC、bcompiler 等 PECL 擴展:
pecl/擴展名buildconfconfigure 時添加 --with-擴展名=shared「准備好咖啡、可樂,做好折騰數小時的心理準備」—— 官方文檔原話,絕非玩笑。