工作過程中需要編譯php擴充的dll格式文件, 經過1天的折騰,終於編譯出來了,下面以編譯php5.3.28 下runkit擴充為例, 官方的windows環境下php編譯過程參考下面這兩篇文章:
https://wiki.php.net/internals/windows/stepbystepbuild
http://blog.csdn.net/mycwq/article/details/10165955
過程基本上是跟文件一致, 注意的是,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目錄下
開始功能表找到並開啟Windows SDK CMD Shell (注意一定是SDK的shell , 不是DOS操作的cmd視窗),然後執行
[plain] view
plaincopy
- setenv /x86 /xp /release setenv /x86 /xp /release setenv /x86 /xp /release setenv /x86 /xp /release setenv /x86 /xp /release sdk_setvars.bat
- binphpsdk_buildtree.bat phpdev
-
執行後,目錄下會產生phpdev資料夾
- 4、進入C:php_sdkphpdevvc9x86,把deps-5.3-9-186.79-T (
php sdk
)
5、把php原始碼也解壓縮到x86目錄下。 6、把runkit壓縮包內容解壓縮到php解壓縮後源碼下的ext目錄下,並把資料夾名runkit-master改為runkit7、在x86目錄下建立obj資料夾,用於保存編譯時產生的檔案8、執行以下指令,用於建立php編譯設定
[plain] view
plaincopy
cd phpdevvc9x86php5.3-201308211030
buildconf -
buildconf
-
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_sdkbin目錄下, 把這個目錄放到環境變量中就行了)
[plain] view
plaincopy
set path=%path%;C:php_sdkbin
- 9、編譯php
plaincopy
nmake
10、如果想打包php,執行下列指令
- 10、如果想打包php,執行下列指令
[plain]
plaincopy
nmake snap
-
到這裡,編譯工作應該結束了。可以在C:php_sdkphpdevvc9x86objReleaseTS目錄中找到php_memcache.dll
以上就介紹了windows環境下php和Php擴充編譯,擴充dll檔編譯,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。