window下开发php简单扩展
来源:互联网 发布:python关键字是什么 编辑:程序博客网 时间:2024/06/05 15:28
1、首先从www.php.net网站上下载php源码,此处以php-5.2.17版本为例,下载后解压至目录。
2、下载安装VC++ 6.0,因为PHP源码是利用6.0版本写的,所以使用这个版本编译不会出现意外,别的版本未测试。
3、把VC++ 6.0安装目录中的 Microsoft Visual Studio\Common\MSDev98\Bin 绝对路径添加到系统环境变量中。
4、进xxx\php-5.2.17\ext目录,复制skeleton文件夹,并重命名为要开发扩展的名字,本例为“zyj”。
5、重命名skeleton.c为zyj.c,skeleton.dsp为zyj.dsp
6、编辑zyj目录中的php_skeleton.h、zyj.c、zyj.dsp这三个文件,替换内容中所有extname为zyj,EXTNAME为ZYJ。(一定要严格区分大小写)
下面就进入到编码阶段:
7、打开php_skeleton.h文件(头文件),找到PHP_FUNCTION(confirm_zyj_compiled);,在 PHP_FUNCTION(confirm_zyj_compiled);,下面编写PHP_FUNCTION(hello_zyj);,声 明一个mb_MessageBox函数,此函数的作用仅是输出js弹出一个alert消息框,用于测试。
8、下面定义函数入口,打开zyj.c文件,找到PHP_FE(confirm_zyj_compiled,NULL) ;,在下面编写 PHP_FE(hello_zyj,NULL),此处注意一下,PHP_FE是定义的一个宏,所以后面不用加引号。
9、在zyj.c最后面编写函数的实体部分:
到这代码书写就完成了,下面开始编译:
10、开始->运行,输入CMD,打开命令行窗口。
至此扩展dll开发完成,下面在php中进行测试:
13、把php_zyj.dll复制到原php目录中的ext文件夹内。
14、打开php.ini文件,添加当前dll的扩展 extension=php_zyj.dll
2、下载安装VC++ 6.0,因为PHP源码是利用6.0版本写的,所以使用这个版本编译不会出现意外,别的版本未测试。
3、把VC++ 6.0安装目录中的 Microsoft Visual Studio\Common\MSDev98\Bin 绝对路径添加到系统环境变量中。
4、进xxx\php-5.2.17\ext目录,复制skeleton文件夹,并重命名为要开发扩展的名字,本例为“zyj”。
5、重命名skeleton.c为zyj.c,skeleton.dsp为zyj.dsp
6、编辑zyj目录中的php_skeleton.h、zyj.c、zyj.dsp这三个文件,替换内容中所有extname为zyj,EXTNAME为ZYJ。(一定要严格区分大小写)
下面就进入到编码阶段:
7、打开php_skeleton.h文件(头文件),找到PHP_FUNCTION(confirm_zyj_compiled);,在 PHP_FUNCTION(confirm_zyj_compiled);,下面编写PHP_FUNCTION(hello_zyj);,声 明一个mb_MessageBox函数,此函数的作用仅是输出js弹出一个alert消息框,用于测试。
8、下面定义函数入口,打开zyj.c文件,找到PHP_FE(confirm_zyj_compiled,NULL) ;,在下面编写 PHP_FE(hello_zyj,NULL),此处注意一下,PHP_FE是定义的一个宏,所以后面不用加引号。
9、在zyj.c最后面编写函数的实体部分:
PHP_FUNCTION(hello_zyj){ 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, "<script>alert('%s')</script>",arg); //此处正是输入的js代码 RETURN_STRINGL(strg, len, 0);}
到这代码书写就完成了,下面开始编译:
10、开始->运行,输入CMD,打开命令行窗口。
11、进入zyj的目录,输入 msdev zyj.dsp /MAKE "zyj - Win32 Release_TS",回车编译
至此扩展dll开发完成,下面在php中进行测试:
13、把php_zyj.dll复制到原php目录中的ext文件夹内。
14、打开php.ini文件,添加当前dll的扩展 extension=php_zyj.dll
附上:php_zyj.dll下载
0 0
- window下开发php简单扩展
- Window下php扩展开发环境搭建参考
- window 下PHP redis扩展插件
- window下安装php memcached扩展
- Window下PHP 安装redis扩展
- Window下PHP 安装redis扩展
- window编译c开发的php扩展
- window的PHP开发(wamp)下安装redis扩展实录
- PHP下C扩展开发
- window+apache环境下安装mongoDB的php扩展
- window下安装php的imagick和imagemagick扩展教程
- php window环境下扩展memcached实现页面缓存
- php扩展开发-简单计算器的四则运算
- PHP扩展开发:一个简单的例子
- window下搭建PHP开发环境
- Linux下用C开发PHP扩展
- linux下php扩展(phpext)开发记录
- Linux下php扩展模块开发
- 数据库设计扫盲篇
- 2017年我看过的书籍记录
- 上拉电阻、下拉电阻的原理和作用
- javaweb中应用redis
- mysql中的字符串的拼接
- window下开发php简单扩展
- 【caffe源码研究】番外篇:(1) 使用Visual Studio 调试caffe代码
- chromium爱好者不可错过的一个开源分支
- vlan0即优先级帧的意义
- GOF23的一些总结(八)
- Android.mk
- 2016年总结赚钱的几个项目
- Qt常用类QAction类及方法简介
- 求一款能反编译混淆编译apk的软件