《PHP應用:windows下配置php5.5開發環境及開發擴展》要點:
本文介紹了PHP應用:windows下配置php5.5開發環境及開發擴展,希望對您有用。如果有疑問,可以聯系我們。
網上的教程是比較多的,但是我發現在windows下的擴展開發比較少,而且大多都是php5.3版本以前的,今天我就給大家講解一下php擴展開發,我就拿php5.5的版本來說明一下的了PHP應用
windows環境(我個人的)PHP應用
第一步
解壓php-sdk-binary-tools的二進制包,譬如我解壓到我的C:\php-sdk文件夾中,現在的目錄結構如下PHP應用
然后,這個是你已經安裝完成了visual studio 2012,打開VS2012 Native Tools Command Prompt命令行工具PHP應用
如果我們打開bin\phpsdk_buildtree.bat文件就會發現它只創建到VC9,沒有VC11,但是我們如果開發php5.5版本,我們需要的是VC11,這時候我們就要把C:\php-sdk\phpdev\vc9復制一份到C:\php-sdk\phpdev\vc11,現在的目錄結構如下:PHP應用
因為我下載的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應用
編譯安裝phpPHP應用
回到VS2012 Native Tools Command Prompt
#進入php源目錄文件夾
cd c:\php-sdk\phpdev\vc11\x86\php-5.5.20
buildconf
#查看帶的擴展和編譯命令
configure --help
php-sdkPHP應用
如果你沒有安裝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應用
開發PHP的第一個擴展
PHP應用
假如我們要開發一個widuu()函數,實現的效果如下PHP應用
進入擴展目錄,生成擴展文件夾PHP應用
然后找到PHP_FE(confirm_widuuweb_compiled, NULL),在下邊注冊你的函數PHP應用
修改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動態擴展PHP應用
其中--enable-widuuweb=shared動態擴展,正好與靜態擴展相對.
然后輸入nmake,完成后,我們在C:\php-sdk\phpdev\vc11\x86\php-5.5.20\Release_TS目錄下就發現了php_widuuweb.dll文件,可以放到環境中測試了.
如果你當地沒有安裝php環境,而是跟我一樣只是編譯了php,如果測試,我建議靜態編譯看效果
configure --disable-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查看PHP應用
維易PHP培訓學院每天發布《PHP應用:windows下配置php5.5開發環境及開發擴展》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。