在Windows環境中編譯PHP-5.2.x

 Tue, 24 Aug 2010 09:37:26 +0800

這方面的文章理論上很多了,只是最近因為有需要寫extension,所以在windows上先編譯PHP看看,結果峰迴路轉好幾天...

編譯PHP-5.3.x相對簡單,用免費的Visual Studio 2008 Express SP1加Windows SDK 6.1 (2008)就能順利編譯。但是PHP-5.2.x就...

PHP官網上的相關文件是針對PHP-5.3.x的,照他的說明來編譯PHP-5.2.x會碰到一些問題:

  1. 預設的目錄配置方式不一樣
  2. libxml2相關的套件編譯不過去

從相關文件上看到,官方還是使用Visual Studio 6來編譯PHP-5.2.x,所以就在虛擬機器上設定了環境:

但是這樣會在最後link php執行檔及lib時,出現debug information毀損的奇怪資訊...修改Lib引入順序只會讓錯誤更多...關掉pdb也沒用...怪哉。查詢了一下錯誤訊息的相關資訊,結果發現是Platform SDK 2003的問題,我把Platform SDK 2003 R2改成Platform SDK 2003 SP1,同樣的錯誤還是會出現。再上網找一找,發現...原來要能支援Visual Studio 6的Platform SDK 2003,需要使用特別的版本,是2003年二月釋出的。但是因為微軟停止支援Visual Studio 6,所以把下載的連結從網站上拿掉了!還好有找到可以下載個別cab的連結...重新安裝這個版本的Platform SDK 2003之後,終於順利把PHP-5.2.11編譯出來。

真的是來來回回走了好幾趟叉路...