1. 程式人生 > >windows環境下php和Php擴充套件編譯,擴充套件dll檔案編譯

windows環境下php和Php擴充套件編譯,擴充套件dll檔案編譯

工作過程中需要編譯php擴充套件的dll格式檔案 , 經過1天的折騰,終於編譯出來了,下面以編譯php5.3.28 下runkit擴充套件為例 , 官方的windows環境下php編譯過程參考下面這兩篇文章:

php5.3.28 , runkit

編譯的過程基本就是跟文件一致 , 注意的是 ,runkit原始碼建議去github下載最新的 , 要不可能編譯出錯

runkit:

windows環境下編譯php最難的就是環境搭建了 ,包括 vs2008安裝、windows SDK6.1安裝。環境搭建好了後

編譯工作

1、建立編譯目錄“C:\php_sdk”

2、解壓php-sdk-binary-tools-20110915.zip裡面的檔案到php_sdk目錄下

3、在開始選單找到並開啟Windows SDK CMD Shell (注意一定是SDK的shell , 不是DOS操作的cmd視窗),然後執行

  1. setenv /x86 /xp /release    //這一句一定要執行成功,要不怎麼都不會編譯成功
  2. cd php_sdk  
  3. bin\phpsdk_setvars.bat  
  4. bin\phpsdk_buildtree.bat phpdev  

執行後,目錄下會生成phpdev資料夾

4、進入C:\php_sdk\phpdev\vc9\x86\,把deps-5.3-vc9-x86.7z解壓到該目錄下,覆蓋deps資料夾。(php sdk)

5、把php原始碼也解壓到x86目錄下。

6、把runkit壓縮包內容解壓到php解壓後原始碼下的ext目錄下,並把資料夾名runkit-master改為runkit

7、在x86目錄下建立obj資料夾,用於儲存編譯時生成的檔案

8、執行以下命令,用於建立php編譯配置

  1. cd phpdev\vc9\x86\php5.3-201308211030  
  2. buildconf  
  3. configure --help >..\configure_help.txt  
  4. configure --disable-all --enable-cli --enable-runkit=shared --enable-object-out-dir=..\obj

注:配置中的--enable-runkit=shared意思是 memcache 以 dll 形式生成,否則就和php整合在一起了。

如果提示bison.exe不存在,執行命令,再重新執行下面的操作(經過上面的配置後,bison.exe應該在 c:\php_sdk\bin目錄下 , 把這個目錄放到環境變數中就行了

  1. set path=%path%;C:\php_sdk\bin  

9、編譯php,執行以下命令

  1. nmake  

10、如果想打包php,執行以下命令

  1. nmake snap  

到這裡,編譯工作應該結束了。可以在C:\php_sdk\phpdev\vc9\x86\obj\ReleaseTS\目錄中找到php_memcache.dll