zoukankan      html  css  js  c++  java
  • windows下开发PHP扩展(无需Cygwin)

    第一步:准备

    1、php源码包和windows下的二进制包,以及安装Visual C++,并把Microsoft Visual Studio/Common/MSDev98/Bin的绝对路径添加到windows环境变量

    2、解压源码包到d:/php_src

    3、进入d:/php_src/ext目录,复制skeleton文件夹,并重命名为要开发扩展的名字,本例为“linvo”

    4、把二进制包中dev目录下的php5ts.lib文件,拷入新建的linvo目录

    5、编辑linvo目录中的php_skeleton.h、skeleton.c、skeleton.dsp这三个文件,替换内容中所有extname为linvo,EXTNAME为LINVO。(严格区分大小写)

    第二步:编码

    6、编辑php_skeleton.h文件(头文件)

    在PHP_FUNCTION(confirm_linvo_compiled);下面编写

    PHP_FUNCTION(hello);

    声明一个hello函数

    7、编辑skeleton.c文件(主文件)

    在PHP_FE(confirm_linvo_compiled, NULL) 下面编写

    PHP_FE(hello, NULL)

    这是函数入口,下面该写函数主体了

    找到PHP_FUNCTION(confirm_test_compiled)函数,该函数是测试函数,在该函数后面新写一个函数

    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);

    }

    第三步:编译

    8、运行cmd命令行,进入d:/php_src/ext/linvo目录

    9、输入 msdev linvo.dsp /MAKE "linvo - Win32 Release_TS"

    10、如果没有错误,则在php_src目录下会生成一个Release_TS文件夹,里面就是编译好的php_linvo.dll扩展

    第四步:使用

    11、将其拷入运行环境中的php扩展目录ext

    12、编辑php.ini添加extension=php_linvo.dll,重启apache

    13、在php文件中执行如下语句 

    echo hello('Linvo');

    将输出

    Hello,Linvo

    14、通过echo phpinfo();也可看到扩展已加载的信息

    linvo

    linvo support enabled

    原文地址:http://blog.csdn.net/linvo/article/details/4086909

  • 相关阅读:
    linux 环境变量
    php 守护进程类
    PHP 操作 进程时相关 信号的具体含义
    mongodb 的注意点
    安装了包,pycharm却提示找不到包
    php7下 xhprof安装与使用
    mysql 大数据 查询方面的测试
    mysql 分页测试,
    jmeter 使用
    初步jmeter安装与使用
  • 原文地址:https://www.cnblogs.com/findumars/p/4993547.html
Copyright © 2011-2022 走看看