window下开发php简单扩展

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最后面编写函数的实体部分:

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",回车编译


12、如果没有错误,在xxx:\php-5.2.17下会生成一个Release_TS文件夹,在里面就可以找到php_zyj.dll文件。

至此扩展dll开发完成,下面在php中进行测试:

13、把php_zyj.dll复制到原php目录中的ext文件夹内。
14、打开php.ini文件,添加当前dll的扩展 extension=php_zyj.dll






附上:php_zyj.dll下载

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值