close
感謝石頭的鼓勵。前幾天可能是太累了,漏看了最後一個步驟...
2007.01.30 追記:
調整一些說明。換掉 Windows SDK 有兩個因素:
我的建構平台是 Windows XP SP2(x86),我寫了幾個批次檔來輔助編譯的過程。
編譯所需檔案:
安裝編譯工具時要注意的地方:
準備目錄:
編譯流程:
預設的安裝目錄是在 C:\php5,你可以從這裡拿到編譯好的檔案。
執行時需要 msvcr80.dll ,這個檔案可以在 %windir%\WinSxS\x86_Microsoft.VC80.CRT_xxx 開頭的目錄中找到。
註:%windir%是指你的Windows XP的安裝目錄,預設是 C:\Windows
其他有關 extension 編譯時需要的檔案、要去哪裡找等問題,等我研究清楚後再發表。
不過我發現,網路上有些現成已編好的 lib,有些在編譯過程中無法連結,原因是因為那些 lib 是用 VC6 以前的版本編的,或是非 VC 的編譯器編的,我個人不傾向自己編這些 extension ,不過要找到用 VC7 以後編出來的 lib 有點難度。
2007.01.30 追記:
調整一些說明。換掉 Windows SDK 有兩個因素:
- Windows SDK 的檔案太新,編譯時常會出現一堆警告,有時還會編譯失敗,所以我把他的順序放到後面,以 Platform SDk 為主。
- 有些 Extensions 有提供 .dsp 的檔案,常會需要用 VCE 來匯入轉檔,所以我乾脆就把 VCE 拿來換掉 Windows SDK。
我的建構平台是 Windows XP SP2(x86),我寫了幾個批次檔來輔助編譯的過程。
編譯所需檔案:
- 編譯工具:.NET Framework 3.0、Windows SDK、Platform SDK、Visual C++ 2005 Express Edition、Visual C++ 2005 Redistributable Package
- PHP 相關檔案:源碼、win32 buildtools、DNS name resolver、輔助編譯包
安裝編譯工具時要注意的地方:
- Platform SDK:建議用預設的選擇。
- Platform SDK 我安裝到 C:\Program\Microsoft Platform SDK。
- Windows SDK:如果不編 com-dotnet 的 Extenstion 可不裝,也可用 .NET Framework SDK 取代這個。
- 若要安裝只需裝 Developer Tools 下的 Windows Vista Headers and Libraries,其他的不用選。
- Windows SDK 我裝到 C:\Program\Microsoft SDKs。
- Visual C++ 2005 Express Edition(VCE):只需要安裝 Graphics IDE 即可,其他的不用選。
- 建議加裝 SP1。
- 如果你裝到不同的目錄,記得修改輔助批次檔內的 setenv.bat
準備目錄:
- 先將編譯工具安裝好,然後建立一個目錄作為編譯之用,底下以 D:\Work 作為範例說明。
- 將 PHP 相關檔案(源碼、win32 buildtools、DNS name resolver、輔助編譯包)解壓縮至 D:\Work 下,目錄會長的像
+--D:\work
| |
| +--bindlib_w32
| | |
| | +--arpa
| | |
| | +--conf
| | |
| | +--...
| |
| +--php-5.x.x
| | |
| | +--build
| | |
| | +--...
| | |
| | +--win32
| | |
| | +--...
| |
| +--win32build
| | |
| | +--bin
| | |
| | +--include
| | |
| | +--lib
| | |
| | +--...
| |
| +--buildtools
| | |
| | +--bin
| | |
| | +--PECL
| |
| +--PECL
| | |
| | +--...
| |
- 輔助編譯包的說明請看:這裡。
編譯流程:
- 請切換至純英文環境,再進行編譯:有些源碼檔案內容有些中歐字元,在中文環境下會發生問題,必須切換至英文環境才不會出問題,另外使用 Apploc 來欺騙是行不通的,請切換成英文環境再編譯。
- 檢視並修改 env_*.bat 與 php_conf.bat 使其符合你的編譯需求,底下步驟若發生錯誤也請回來修改這兩個檔。
- 執行 env_set.bat
- 執行 php_conf.bat
- 執行 php_make.bat rebuild
- 執行 php_make.bat
- 執行 php_make.bat install
預設的安裝目錄是在 C:\php5,你可以從這裡拿到編譯好的檔案。
執行時需要 msvcr80.dll ,這個檔案可以在 %windir%\WinSxS\x86_Microsoft.VC80.CRT_xxx 開頭的目錄中找到。
註:%windir%是指你的Windows XP的安裝目錄,預設是 C:\Windows
其他有關 extension 編譯時需要的檔案、要去哪裡找等問題,等我研究清楚後再發表。
不過我發現,網路上有些現成已編好的 lib,有些在編譯過程中無法連結,原因是因為那些 lib 是用 VC6 以前的版本編的,或是非 VC 的編譯器編的,我個人不傾向自己編這些 extension ,不過要找到用 VC7 以後編出來的 lib 有點難度。
全站熱搜
留言列表