在 Windows 上編譯 PHP VC9

1 篇文章 / 0 new
author
在 Windows 上編譯 PHP VC9

安裝/編譯可參考 https://wiki.php.net/internals/windows 教學

所需工具如下

Microsoft Visual Studio C++ 2008 Express Edition x86
Windows SDK 6.1 (一定要 6.1 以上版本)
PHP 編譯用工具 (php-sdk-binary-tools)
PHP 延伸模組編譯用開發套件(選擇性)

前置作業

1. 先行安裝完 CV++, WinSDK6.1
2. 需到控制台=>地區即語言選擇=>進階(系統管理)=>非unicode程式的語言 將這裡切換成英文(美國),接著重新開機(沒此設定會造成編譯錯誤)
3. 建立一個工作目錄,以 C:\php-sdk 為例
4. 將 PHP source 解壓縮至 C:\php-sdk\php533
5. 將 binary-tools.zip 並解壓縮至 C:\php-sdk 。
6. 將 deps 檔(如:deps-5.3-vc9-x86.7z) 解壓縮到 c:\php-sdk 並將相關所需的libs(http://wiki.php.net/internals/windows/libs) 下載至該目錄。

完成後目錄結構:

+-C:\php-sdk
| +-bin (來自 php-sdk-binary-tools)
| | --bison.exe
| | --bison.simple
| | --...
| +-deps (來自 deps-5.3-vc9-x86.7z)
| | +-bin
| | +-include
| |   --httpd.h (來自 Apache httpd)
| |   --...
| | +-lib
| |   --libiconv.lib (來自 GNU libiconv)
| |   --libxml2.lib
| |   --...
| +-php-533 (PHP 原始碼)
| | +-build
| | +-win32
| | +-..
| +-script (來自 php-sdk-binary-tools)
編譯作業
開始功能表 裡執行 Windows SDK - CMD Shell 輸入
SetEnv.cmd /x86 /xp /release 設定編譯模式。
SET PATH=%PATH%;C:\php-sdk\bin;C:\VC9\VC\bin;C:\VC9\Common7\IDE; (VC9依實際目錄而設)
c:\php-sdk\bin\phpsdk_setvars.bat
cd C:\php-sdk\php533
buildconf.bat
configure --help (非必要)
指定編譯參數
configure --enable-snapshot-build
參數(configure --help 查看參數說明)
--disable-zts <-- Non - Thread Safe模式
--enable-pdo --with-pdo-firebird=C:\Firdbird\bin,shared <-- 將延伸的模組產出成 dll 模式,而非編入核心內
編譯完成沒影錯誤後,進行 build, 畫面上通常會顯示需要下的 命令碼
nmake or nmake snap
完成後, 相關檔案將建立在 Release_TS 目錄下

補充

增加延伸模組時, 需將所需的 lib,h 等檔案放入 deps 相關目錄下

 

參考
https://wiki.php.net/internals/windows/stepbystepbuild
http://tw2.php.net/manual/en/ref.pdo-oci.php
http://94i.blogspot.com/2009/12/windows-php.html?showComment=13105263324...
http://janochen.blogspot.com/2009/07/windows-php.html

Free Web Hosting