日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php5.5 集成环境,windows下配置php5.5开发环境及开发扩展_PHP

發布時間:2024/1/23 php 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php5.5 集成环境,windows下配置php5.5开发环境及开发扩展_PHP 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網上的教程是比較多的,但是我發現在windows下的擴展開發比較少,而且大多都是php5.3版本以前的,今天我就給大家講解一下php擴展開發,我就拿php5.5的版本來說明一下的了

windows環境(我個人的)

代碼如下:

windows 8.1 企業版(mac os Boot Camp安裝的)

Visual Studio 2012 版本

msysgit (http://msysgit.github.io/ 下載)

php-sdk-binary-tools-20110915.zip (http://windows.php.net/downloads/php-sdk/下載)

deps-5.5-vc11-x86.7z (http://windows.php.net/downloads/php-sdk/下載)

php-5.5.20 (http://php.net/downloads.php下載,這個版本不定自己選擇)

第一步

解壓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){

return "your first extension {$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){

char *arg_string = NULL;

int arg_len,str_len;

char *string;

if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,"s",&arg_string,&arg_len) == FAILURE){

return;

}

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[] = {

PHP_FE(confirm_widuuweb_compiled, NULL) /* For testing, remove later. */

PHP_FE(widuu,NULL)

PHP_FE_END /* Must be the last line in 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 --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中文網,轉載請注明出處,感謝您的尊重!

總結

以上是生活随笔為你收集整理的php5.5 集成环境,windows下配置php5.5开发环境及开发扩展_PHP的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。