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

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

https://wiki.php.net/internals/windows/stepbystepbuild

http://blog.csdn.net/mycwq/article/details/10165955

php5.3.28 , runkit

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

runkit:

https://github.com/zenovich/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視窗),然後執行

[plain] view plaincopy

  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編譯配置

[plain] view plaincopy

  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目錄下 , 把這個目錄放到環境變數中就行了)

[plain] view plaincopy

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

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

[plain] view plaincopy

  1. nmake

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

[plain] view plaincopy

  1. nmake snap

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


以上就介紹了windows環境下php和Php擴充編譯,擴充dll檔案編譯,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.