• PHP 扩展开发


    PHP扩展可以在编译PHP时一起编译,也可以单独编译为共享库,共享库的像是需要将库的名称加入到PHP.ini配置中去,在pho_module_startup()阶段PHP会根据php.ini的配置将对应的扩展共享库加载到PHP中

    PHP提供了几个用于简化扩展开发的脚本工具:ext_skel、phpsize、php-config

    这些工具主要用来扩展的生成和编译。

    ext_skel:这个脚本位于php源码的/ext目录下,它的作用是用来生成扩展的基本骨架,帮助开发者快速生成一个规范的扩展结构:

    $ ./ext_skel --extname=myexttest

    执行完之后在ext目录下新生成一个扩展目录,比如

    ---myexttest

      ------config.m4 //autoconf规则的编译配置文件

     -------config.w32 //windows环境的配置

    -------CREDITS

    -------EXPERIMENTAL

    -------include   //依赖库的include头文件

    -------myexttest.c  //扩展源码

    -------php-myexttest.h  //头文件

    -------myexttest.php   

    这个脚本主要生成来编译需要的配置及扩展的基本结构,初步生成的这个扩展可以成功编译、安装和使用,实际开发中我们可以用这个脚本生成一个基本结构,然后根据具体的需要完善

    phpsize是扩展编译必用的一个脚本,主要是操作复杂的autoconf/automake/autoheader/autolocal等系列命令,用于生成扩展的configure文件,这个就是我上上篇文章写到用的的。

    总结一下编写扩展的步骤

    1、通过ext目录下的ext_skel脚本生成扩展的基本扩展./ext_skel -extname

    2、修改config.m4配置:设置编译配置参数、设置扩展的源代码、依赖库/函数检查等

    3、编写扩展要实现的功能:按照PHP扩展的格式及PHP提供的api编写功能

    4、生成configure:扩展编写完成后执行phpsize脚本生成configure及其他配置文件

    5、编译&安装:./configure、make、make install 然后将扩展的.so路径添加到php.ini中

  • 相关阅读:
    微信小程序 WePY 2 框架入门教程
    微信小程序 WePY 1.7.X 框架入门教程
    /deep/ 深度作用选择器作用及使用
    微信小程序 wx.getUserProfile 接口获取用户信息
    Wepy 微信小程序项目踩坑记
    计算机网络-第一章概述OSI参考模型
    如何安装pycocotools为文件?
    第三章 系统总线
    第二章 计算机的发展和展望
    第一章 计算机基础概论
  • 原文地址:https://www.cnblogs.com/weiluoyan/p/9031926.html
Copyright © 2020-2023  润新知