windows下开发php扩展的方法

Windows下开发php扩展文件的方法步骤

一.     首先在电脑上安装vc++6.0,然后将msdev.exe所在的路径添加到环境变量下

二.     下载php的源码包和windows下的二进制包(php-5.3.5-Win32-VC6-x86.zip和php-5.3.5.tar.gz),还有一个文件是config.win32.h

                       

三.     将二进制码包与apache,mysql搭建好php的开发环境

四.     将源码包解压到D盘下,

        

五.进入到该文件加下的ext文件夹D:\php-5.3.5\ext,该文件夹下就是各种扩展的源码包,其中有一个文件夹是skeleton,

          

       拷贝一份skeleton文件夹,放在该目录下

            

       然后将skeleton-副本  重命名为keyboard(你想扩展的名字,随意),这样在ext目录下就有了一个keyboard文件夹

            

六.进入keyboard文件夹,可以看到有如下文件

        

将php_skeleton.h  ,  skeleton.c  , skeleton.dsp这三个文件重命名为php_keyboard.h   ,keyboard.c  ,keyboard.dsp ,然后将这三个文件中的extname全部替换为keyboard,EXTNAME 全部替换为KEYBOARD(注意:严格区分大小写

       然后将php5ts.lib(在二进制包下的dev文件夹里)拷贝到该文件加下

     

七.打开php_keyboard.h文件,添加如下代码

       PHP_FUNCTION(hello);

       如下图所示

      

 八.打开keyboard.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, "The string you put in is : %s", arg);

       RETURN_STRINGL(strg, len, 0);

}

 

九.打开cmd,进入到keyboard目录下

 

十.输入如下指令,如图

   

 

十一.编译运行,会报如下错误

   

将config.win32.h拷贝到上级的D:\php-5.3.5\main目录下,继续上述步骤

十一.接着又会报一大堆的错误

           此时打开D:\php-5.3.5\main\streams\php_stream_transport.h,

在里面加上这么一句话typedef int socklen_t;

如下图

     

继续编译运行

十二.好了,现在编译成功了

   

 

至此,php_keyboard.dll文件已经生成了,在D:\php-5.3.5\Release_TS文件夹下。然后将它放在php的ext目录下,在

Php.ini中添加extension=php_keyboard.dll,重启apache。

编写如何测试文件test.php

<?php

                 Echo hello(“hahahahah”);

                 Phpinfo();

?>

打开浏览器,输入http://localhost/test.php

即可看到

   

    

 

 

说明我们写的扩展已经发挥作用了!

转载于:https://www.cnblogs.com/keyboard/archive/2013/01/24/2874136.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值