網上的教程是比較多的,但是我發現在windows下的擴充套件開發比較少,而且大多都是php5.3版本以前的,今天我就給大家講解一下php擴充套件開發,我就拿php5.5的版本來說明一下的了
windows環境(我個人的)
複製** **如下:
windows 8.1 企業版(mac os boot camp安裝的)
visual studio 2012 版本
msysgit ( **)
php-sdk-binary-tools-20110915.zip (**)
deps-5.5-vc11-x86.7z (**)
php-5.5.20 (**,這個版本不定自己選擇)
第一步解壓php-sdk-binary-tools的二進位製包,譬如我解壓到我的c:\php-sdk資料夾中,現在的目錄結構如下
複製** **如下:
c:\php-sdk
--bin
--script
--share
然後,這個是你已經安裝完成了visual studio 2012,開啟vs2012 native tools command prompt命令列工具
複製** **如下:
#進入目錄
cd c:\php-sdk
#設定環境變數
bin\phpsdk_setvars.bat
#建立常用的php-sdk目錄
bin\phpsdk_buildtree.bat phpdev
如果我們開啟bin\phpsdk_buildtree.bat檔案就會發現它只建立到vc9,沒有vc11,但是我們如果開發php5.5版本,我們需要的是vc11,這時候我們就要把c:\php-sdk\phpdev\vc9複製乙份到c:\php-sdk\phpdev\vc11,現在的目錄結構如下:
複製** **如下:
c:\php-sdk\phpdev\
--vc6
--vc8
--vc9
--vc11
因為我**的deps-5.5-vc11-x86.7z,所以我要解壓deps-5.5-vc11-x86.7z到c:\php-sdk\phpdev\vc11\x86\deps資料夾下覆蓋,裡邊都是我們需要的庫檔案和一些必要的工具等等。
然後,將我們**的php-5.5.20.tar.bz2解壓到c:\php-sdk\phpdev\vc11\x86\php-5.5.20資料夾中。
編譯安裝php
回到vs2012 native tools command prompt
#進入php源目錄資料夾
cd c:\php-sdk\phpdev\vc11\x86\php-5.5.20
buildconf
#檢視帶的擴充套件和編譯命令
configure --help
php-sdk
如果你沒有安裝php,現在這裡就幫助到你了,可以先編譯安裝一下php
configure --disable-all --enable-cli
然後,你會看到type 'nmake' to build php,然後編譯
nmake
在c:\php-sdk\phpdev\vc11\x86\php-5.5.20\release_ts資料夾下就生成了php.exe檔案,環境變數中加入這個路徑,好在命令列中能使用php命令。
開發php的第乙個擴充套件
假如我們要開發乙個widuu()函式,實現的效果如下
複製** **如下:
function widuu($string) is ok";
}進入擴充套件目錄,生成擴充套件資料夾
複製** **如下:
cd c:\php-sdk\phpdev\vc11\x86\php-5.5.20\ext
#輸入php ext_skel_win32.php --extname=擴充套件名稱
php ext_skel_win32.php --extname=widuuweb
這時候我們在c:\php-sdk\phpdev\vc11\x86程式設計客棧php-5.5.20\ext就看到了自己的目錄widuuweb,開啟widuuweb\php_widuuweb.h,在
#php_minfo_function(widuuweb);下一行寫入自己的函式,譬如我定義的是widuu()函式
php_function(widuu);
開啟php_widuuweb.c編寫函式,在php_function(confirm_widuuweb_compiled)下
複製** **如下:
php_function(widuu)
str_len = spprintf(&string,0,"your first extension %.78s is ok",arg_string);
return_stringl(string,str_len,0);
}然後找到php_fe(confirm_widuuweb_compiled, null),在下邊註冊你的函式
複製** **如下:
const zend_function_entry widuuweb_functions = ;
修改c:\php-sdk\phpdev\vc11\x86\php-5.5.20\ext\widuuweb\config.w32,去掉
// arg_enable("widuuweb", "enable widuuweb support", "no");
前邊的注釋,vs命令列,輸入cd .. 到php-5.5.20目錄中,輸入下面的命令
buildconf --force
#檢視擴充套件
configure --help
如果,有錯誤,大家可以開啟,目錄下configure.js檢視,我這個出現了錯誤,是configure.js的4791行,
arg_enable("widuuweb", "enable widuuweb support", "no"); */
多了乙個*/的注釋,去掉就可以了,然後再輸入
configure --help
就看到了,有一行
--enable-widuuweb enable widuuweb support
然後配置
configure --disable-all --enable-cli --enable-widuuweb=shared
php動態擴充套件
其中--enable-widuuweb=shared動態擴充套件,正好與靜態擴充套件相對。程式設計客棧
然後輸入nmake,完成後,我們在c:\php-sdk\phpdev\vc11\x86\php-5.5.20\release_ts目錄下就發現了php_widuuweb.dll檔案,可以放到環境中測試了。
如果你本地沒有安裝php環境,而是跟我一樣只是編譯了php,如程式設計客棧果測試,我建議靜態編譯看效果
configure --disab程式設計客棧le-all --enable-cli --enable-widuuweb=static
nmake
然後,你可以再release_ts目錄下,輸入
php -r "echo widuu('widuu');" //輸出"your first extension widuu is ok"
ok,就說到這裡,以後再慢慢來講,有什麼不懂的大家可以留言,基礎的zend_api,大家可以去walu.cc檢視
本文標題: windows下配置php5.5開發環境及開發擴充套件
本文位址:
windows下安裝php5 5的redis
2.根據php版本號,編譯器版本號和cpu架構,選擇php redis 2.2.5 5.5 ts vc11 x86.zip和php igbinary 1.2.1 5.5 ts vc11 x86.zip 3.解壓縮後,php igbinary.dll和php redis.dll放入php的ext目錄下...
PHP 5 5環境配置
分步閱讀 php5.5 做了大量的更新,在與apache搭配的時候如何選擇也很有講究,這裡我們以64位 php5.6 和 apache2.4為例介紹如何配置。1推薦 v11 x64,也就是64bit的。2同樣是推薦 v11,64位的。3前面提到的v11是微軟的乙個元件,如果不安裝的話會提示 msvc...
在Windows下為PHP5 5安裝redis擴充套件
使用phpinfo 函式檢視php的版本資訊,這會決定擴充套件檔案版本 根據php版本號,編譯器版本號和cpu架構,選擇php redis 2.2.5 5.5 ts vc11 x86.zip和php igbinary 1.2.1 5.5 ts vc11 x86.zip 解壓縮後,將php redis...