ITKeyword,专注技术干货聚合推荐

注册 | 登录

PHP扩展开发—windows开发环境搭建

anda0109 分享于 2016-08-04

推荐:PHP扩展开发—LINUX环境

LINUX环境下开发PHP扩展的步骤如下: 1、下载PHP源码,解压,我的解压目录是:/root/lamp/php-5.5.37 2、cd到/root/lamp/php-5.5.37/ext目录下,创建文件test_ex

2020腾讯云7月秒杀活动,优惠非常大!(领取2860元代金券),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1040

2020阿里云最低价产品入口,含代金券(新老用户有优惠),
地址https://www.aliyun.com/minisite/goods

环境及资源下载

编译PHP

1、解压php-sdk到目录E:\tang\php_stdio\php-sdk
2、设置vs2013编译器环境变量:打开cmd窗口,运行vcvarsall.bat(路径根据vs的安装路径确定)
3、建立开发目录:
打开vs2013本机命令提示工具,注意如果编译64位的请打开vs2013 x64命令提示工具,我用的是x64版本。切换到E:\tang\php_stdio\php-sdk目录下,分别运行:
bin\phpsdk_setvars.bat
bin\phpsdk_buildtree.bat php55dev-x64
运行后,在E:\tang\php_stdio\php-sdk目录下又多了一个php55dev-x64目录。
4、将deps解压到如下目录:
E:tang\php_stdio\php-sdk\php55dev-x64\vc9\x64\
原来这个目录下的deps目录下的所有子目录均是空目录,解压后,应该复制进很多必要的模块/扩展所需的库文件。
5、接下来,将PHP-5.5.38源码目录复制一份到如下目录:
E:\tang\php_stdio\php-sdk\php55dev-x64\vc9\x64\
6、进入php源码目录
cd E:\tang\php_stdio\php-sdk\php55dev-x64\vc9\x64\php-5.5.38
运行
buildconf
然后就可以先试着编译php了。最开始,一般编译尽可能少的模块,先让核心能正常编译出来:
configure –disable-all –enable-cli
7、编译PHP,执行
nmake
至此,php最核心部分及一个命令行工具就编译出来了。

开发PHP扩展test_extension

PHP扩展的基础结构相同,为方便开发PHP提供了ext_skel和ext_skel_win32.php分别是linux、windows下的扩展框架搭建工具。
此次讲的是Windows中搭建PHP扩展开发环境,所以使用的是ext_skel_win32.php。用它生成的扩展框架,可以直接用VS打开进行书写代码和编译。其步骤如下:

1、切换到目录ext下:
cd E:\tang\php_stdio\php-sdk\php55dev-x64\vc9\x64\php-5.5.38\ext
2、在目录下创建文件test_extension.def,文件内容为扩展将要导出的函数,如下:

推荐:PHP 扩展开发笔记一

为了方便,新建了一个bat。以后就按照这个来了。准备工作:下载适合版本的php源码。 1、设置 VC环境变量,为调用vc编译器做准备 2、设置path。 3、配置并构建。

int a(int x, int y)
string b(string str, int n)

3、运行命令生成扩展框架
php.exe ext_skel_win32.php –extname=test_extension –proto=test_extension.def
成功后生成test_extension目录。
4、进入test_extension目录下,用vs2013打开test_extension.dsp工程文件。如果编译的是64位扩展注意修改属性为x64平台。编译完成后生成php_test_extension.dll
5、将php_test_extension.dll放到PHP的ext目录下,在php.ini文件中加上extension=php_test_extension.dll
6、测试
运行:php.exe test_extension.php(其中test_extnesion.php是在生成的扩展框架目录下)
扩展调用成功会出现:

Functions available in the test extension:
confirm_test_extension_compiled
a
b

Congratulations! You have successfully modified ext/test_extension/config.m4. Mo
dule test_extension is now compiled into PHP.

一个简单的PHP扩展就这样开发完成,要注意以下几点:
1、注意文件位数,32位或64位,必须与PHP的版本对应
2、注意扩展必须和PHP使用相同版本的编译器

推荐:PHP扩展开发-01-前期准备

     闲话不和大家撤了,如果您想学习php的扩展开发,相信您对php基础知识已经有了一定的了解。PHP扩展时用C语言编写的,如果您还不知道C语言 里面指针式什么东

环境及资源下载 操作系统:windows7,64位操作系统 IDE:Visual stdio 2013 PHP源码:php-5.5.38-src.zip PHP-SDK:http://windows.php.net/downloads/php-sdk/php-sdk-binary-tools-20110915.z

相关阅读排行


相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。