首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

Windows 下編譯 PHP 5.4 與 Xdebug 完整實戰記錄

     編輯:PHP 綜合知識

編譯環境準備

工具版本/說明
Visual C++2008 Express Edition SP1 (VC9)
Windows SDK6.1
PHP SDK Binary Toolsphp-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

編譯步驟

  1. 安裝 VC++ 2008 + Windows SDK 6.1
  2. 建立上述目錄,解壓對應文件
  3. 打開 Windows SDK CMD Shell
  4. 執行環境初始化:
    setenv /x86 /xp /release
    set PATH=D:\php-sdk\bin;%PATH%
  5. 切換至 PHP 源碼目錄:cd D:\php-sdk\php54dev\php-5.4.x
  6. 生成 configure 腳本:buildconf
  7. 配置編譯選項:
    configure --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)。

  8. 編譯:nmake(漫長等待,忽略 Warning)
  9. 打包:nmake snap 生成發布包結構

輸出位置

D:\php-sdk\php54dev\php-5.4.x\Release_TS\ 下包含 php_xdebug.dll 及完整 PHP 二進制文件。

常見錯誤處理

calendar.c / jewish.c 編碼錯誤

ext\calendar\jewish.c : warning C4819: 文件包含當前代碼頁(936)無法表示的字符
ext\calendar\jewish.c(324) : error C2001: 常量中換行

解決:用 EditPlus 打開該文件,編碼選 West European (Windows),另存為 UTF-8。

擴展編譯提示

若需編譯 APC、bcompiler 等 PECL 擴展:

  1. 源碼放入 pecl/擴展名
  2. 重新執行 buildconf
  3. configure 時添加 --with-擴展名=shared

心得

「准備好咖啡、可樂,做好折騰數小時的心理準備」—— 官方文檔原話,絕非玩笑。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved