php开发扩展

  1. 安装php-7.0.13
  2. 测试php安装是否成功
     php --version
    
  3. 扩展功能定义
     扩展名:dump
     方法:dump_hello()[string]
     返回“Hello world!”
    
  4. 打开php压缩包解压路径
     cd ./php-7.0.13/ext/
    
  5. 生成开发模块

     vim dump.skel
     加入内容:
     string dump_hello()
    
     ./ext_skel --help
     ---------------------------------------------------------
     ./ext_skel --extname=module [--proto=file] [--stubs=file] [--xml[=file]]
                [--skel=dir] [--full-xml] [--no-help]
     --extname=dump   模块名,会在当前目录创建一个名为dump的目录
     --proto=file     函数原型定义文件路径
     --stubs=file     创建功能存根函数在指定文件
     --xml            生成xml文档到phpdoc-cvs
     --skel=dir       设置模块生成的目录,不设置该项则默认在ext/dump
     --full-xml       为独立扩展生产xml文档(在实施之前)
     --no-help        生成的代码中不显示各种帮助注释
     ---------------------------------------------------------
     ./ext_skel  --extname=dump --proto=dump.skel
     这时会提示:
     ---------------------------------------------------------
     要使用新创建的扩展,你需要:
     1.  $ cd ..
     2.  $ vi ext/dump/config.m4
     3.  $ ./buildconf
     4.  $ ./configure --[with|enable]-dump
     5.  $ make
     6.  $ ./sapi/cli/php -f ext/dump/dump.php
     7.  $ vi ext/dump/dump.c
     8.  $ make
     ---------------------------------------------------------
    
     打开并查看生成的扩展目录中有哪些文件
     cd ./dump
     ll
     修改config.m4
     vim config.m4
     打开第16,17,18行代码:
     ---------------------------------------------------------
     dnl PHP_ARG_ENABLE(dump, whether to enable dump support,
     dnl Make sure that the comment is aligned:
     dnl [  --enable-dump           Enable dump support])
     改为
     PHP_ARG_ENABLE(dump, whether to enable dump support,
     Make sure that the comment is aligned:
     [  --enable-dump           Enable dump support])
     ---------------------------------------------------------
    
     修改核心文件dump.c(暂时有点问题)
     vim dump.c
     PHP_FUNCTION(dump_hello)
     {
         return "Hello world!";
     }
    
     重启php
     pkill php-fpm
     /usr/local/php-7.0.13/sbin/php-fpm
     完成,安装并使用吧。
    
@耿志环 2012-∞ 冀ICP备17033181号, powered by Gitbook修订: 2018-05-23 16:25:59

results matching ""

    No results matching ""