php扩展开发-准备工作
2012-04-06 10:25
239 查看
1.准备工作
Windows下,vc6+cygwin+php二进制包与源码
2.开发步骤
2.0 假设环境
php源码-D:\php_src\
Cygwin-D:\cygwin
注:配置php源码包下的ext_skel_win32.php文件,修改变量$cygwin_path为
d:\cygwin\bin
2.1生成扩展包
打开命令行窗口,进入源码包目录下,输入php ext_skel_win32.php –- extname=<EXT_NAME>,<EXT_NAME>为所需要的目标扩展模块名称这里假设为test
2.2修改代码文件
Php_test.h:添加PHP_FUNCTION(hello);
Test.c: 添加 PHP_FE(hello,NULL)
添加 PHP_FUNCTION(hello)
{
char *arg = NULL;
int arg_len, len;
char *strg;
if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,"s",&arg,&arg_len) == FAILURE)
{
return;
}
len = spprintf(&strg,0,"Hello,%s",arg);
RETURN_STRINGL(strg,len,0);
}
2.3生成扩展模块
命令行模式下,进入目的扩展模块包的目录,此环境为D:\php_src\ext\test,输入msdev test.dsp /MAKE "test - Win32 Release_Ts",会生成一个php_test.dll的文件
2.4配置php.ini
Php.ini下添加一行extension=php_test.dll
2.5测试扩展模块
创建一个test_hello.php文件,其中编写代码:echo hello("i am coder");
命令行下输入:php test_hello.php,会出现Hello,i am coder
Windows下,vc6+cygwin+php二进制包与源码
2.开发步骤
2.0 假设环境
php源码-D:\php_src\
Cygwin-D:\cygwin
注:配置php源码包下的ext_skel_win32.php文件,修改变量$cygwin_path为
d:\cygwin\bin
2.1生成扩展包
打开命令行窗口,进入源码包目录下,输入php ext_skel_win32.php –- extname=<EXT_NAME>,<EXT_NAME>为所需要的目标扩展模块名称这里假设为test
2.2修改代码文件
Php_test.h:添加PHP_FUNCTION(hello);
Test.c: 添加 PHP_FE(hello,NULL)
添加 PHP_FUNCTION(hello)
{
char *arg = NULL;
int arg_len, len;
char *strg;
if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,"s",&arg,&arg_len) == FAILURE)
{
return;
}
len = spprintf(&strg,0,"Hello,%s",arg);
RETURN_STRINGL(strg,len,0);
}
2.3生成扩展模块
命令行模式下,进入目的扩展模块包的目录,此环境为D:\php_src\ext\test,输入msdev test.dsp /MAKE "test - Win32 Release_Ts",会生成一个php_test.dll的文件
2.4配置php.ini
Php.ini下添加一行extension=php_test.dll
2.5测试扩展模块
创建一个test_hello.php文件,其中编写代码:echo hello("i am coder");
命令行下输入:php test_hello.php,会出现Hello,i am coder
相关文章推荐
- [支付宝小程序PHP全栈开发]一、开发前准备工作支付宝小程序注册
- [李景山php] php扩展开发系列--环境准备及安装
- hello zapi 项目准备工作-CPP开发PHP之旅第一节
- [李景山php] php扩展开发系列--环境准备及安装
- [翻译][php扩展开发和嵌入式]第8章-在数组和哈希表上工作
- PHP扩展开发-01-前期准备
- 用apache搭建虚拟目录,为你的PHP程序开发做好便利的准备工作
- 六、开发前的准备工作
- 开发一个简易的PHP扩展
- [翻译][php扩展开发和嵌入式]第0章-译序
- ajax方法写一个在线斗地主的游戏,第一章-开发前的准备工作
- PHP内核介绍及扩展开发指南—类和对象
- 总结一下php5.2.16与apache2.0的扩展开发整个过程
- tensorflow从0开始(7)——利用tensorflow进行开发的准备工作
- [Firefox][扩展系列][01]开发环境准备
- 用C开发PHP扩展的步骤
- PHP扩展开发之动态加载so模块与静态重编译PHP(下)
- 微信开发准备工作
- PHP扩展开发探索(一)
- php 扩展开发