• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-25) 31次浏览 已收录 0个评论

网上的教程是比较多的,但是我发现在windows下的扩展开发比较少,而且大多都是php5.3版本以前的,今天我就给大家讲解一下php扩展开发,我就拿php5.5的版本来说明一下的了

windows环境(我个人的)

<br />windows 8.1 企业版(mac os Boot Camp安装的)<br />Visual Studio 2012 版本<br />msysgit  (http://msysgit.github.io/ 下载)<br />php-sdk-binary-tools-20110915.zip (http://windows.php.net/downloads/php-sdk/下载)<br />deps-5.5-vc11-x86.7z                  (http://windows.php.net/downloads/php-sdk/下载)<br />php-5.5.20                        (http://php.net/downloads.php下载,这个版本不定自己选择)<br />

第一步
解压php-sdk-binary-tools的二进制包,譬如我解压到我的C:\php-sdk文件夹中,现在的目录结构如下

<br />C:\php-sdk<br />    --bin<br />    --script<br />    --share<br />

然后,这个是你已经安装完成了visual studio 2012,打开VS2012 Native Tools Command Prompt命令行工具

<br />#进入目录<br />cd C:\php-sdk<br />#设置环境变量<br />bin\phpsdk_setvars.bat<br />#创建常用的php-sdk目录<br />bin\phpsdk_buildtree.bat phpdev<br />

如果我们打开bin\phpsdk_buildtree.bat文件就会发现它只创建到V来&源gao@dai!ma.com搞$代^码%网搞gaodaima代码C9,没有VC11,但是我们如果开发php5.5版本,我们需要的是VC11,这时候我们就要把C:\php-sdk\phpdev\vc9复制一份到C:\php-sdk\phpdev\vc11,现在的目录结构如下:

<br />C:\php-sdk\phpdev\<br />                --vc6<br />                --vc8<br />                --vc9<br />                --vc11<br />

因为我下载的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()函数,实现的效果如下

<br />function widuu($string){<br />    return "your first extension {$string} is ok";<br />}<br />

进入扩展目录,生成扩展文件夹

<br />cd C:\php-sdk\phpdev\vc11\x86\php-5.5.20\ext<br />#输入php ext_skel_win32.php --extname=扩展名称<br />php ext_skel_win32.php --extname=widuuweb<br />

这时候我们在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)下

<br />PHP_FUNCTION(widuu){<br />    char *arg_string = NULL;<br />    int  arg_len,str_len;<br />    char *string;<br />    if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,"s",&arg_string,&arg_len) == FAILURE){<br />        return;<br />    }<br />    str_len = spprintf(&string,0,"your first extension %.78s is ok",arg_string);<br />    RETURN_STRINGL(string,str_len,0);<br />}<br />

然后找到PHP_FE(confirm_widuuweb_compiled, NULL),在下边注册你的函数

<br />const zend_function_entry widuuweb_functions[] = {<br />    PHP_FE(confirm_widuuweb_compiled,   NULL)       /* For testing, remove later. */<br />    PHP_FE(widuu,NULL)<br />    PHP_FE_END  /* Must be the last line in widuuweb_functions[] */<br />};<br />

修改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查看


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:windows下配置php5.5开发环境及开发扩展_PHP

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址