ext_skel是php源码包里自带的一个开发生成工具

使用它可以用C++编译出可用的.so库,增加函数以扩展php的功能

首先从官方下载源码

将其用tar -zxvf解压

首先我们需要建立一个xxx.skel文件,里面是我们要定义的扩展函数的声明

比如 `string bingo(string str)

然后进入到php源码包的ext目录下

使用命令 ./ext_skel --extname=bingo --proto=/home/bingo.skel

来生成一个框架包然后修改config.m4文件

注释掉PHP_ARG_WITH或PHP_ARG_ENABLE(根据实际情况二选一,第一种是指扩展需第三方库支持)所以一般我们保留第二种

修改phpext.c文件 注释掉默认的函数,并编写我们的bingo函数

用phpize创建配置,在phpext下运行: /opt/lampp/bin/phpize./configure --with-php-config=/opt/lampp/bin/php-config

并进行安装 makemake testmake install clean

#接下来的步骤由于kali各种奇奇怪怪的原因不能进行,下次再看咯

在/xxx/php/下对应的文件夹内将多出一个叫binso.so的文件

找到php.ini或extensions.ini,在其中加入一行 extension=bingo.so

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

php ext_skel,用ext_skel为php开发扩展|待更相关推荐

  1. share extension 不显示_这几项超好用的云开发扩展能力,别说你还不知道!

    云开发CloudBase是云开发团队为开发者提供的一站式云服务,旨在降低开发者使用云服务的门槛,助力开发者快速开发应用.在具体的开发过程中,云开发提供了许多实用的扩展能力,包含图像标签.图像安全审核. ...

  2. base64 不一致_这几项超好用的云开发扩展能力,别说你还不知道!

    云开发CloudBase是云开发团队为开发者提供的一站式云服务,旨在降低开发者使用云服务的门槛,助力开发者快速开发应用.在具体的开发过程中,云开发提供了许多实用的扩展能力,包含图像标签.图像安全审核. ...

  3. 如何为SAP WebIDE开发扩展(Extension),并部署到SAP云平台上

    本文通过一个最简单的例子,介绍如何给SAP WebIDE开发扩展(WebIDE Extension) 新建一个SAP WebIDE扩展,基于的模板如下,这个项目也是一个MTA项目: WebIDE ex ...

  4. 详述Visual Studio 代码远程开发扩展中的远程命令执行漏洞

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 Visual Studio 代码远程开发扩展(Code Remote Development Extension) 1.50 未能在将其用作 s ...

  5. Revit二次开发——扩展存储

    Revit二次开发--扩展存储 ​  在revitAPI中,提供了Extensible Storage framework,可以使开发者将需要存储的数据存到Revit的rvt文件中, 扩展的数据始终跟 ...

  6. 适用于 Visual Studio 的 Android 游戏开发扩展

    在 Windows 计算机上设置 Android 游戏开发扩展并在 Android 设备或模拟器上运行示例 Visual Studio C++ 项目. 先决条件 按照本节中的步骤准备您的 Window ...

  7. 二次开发扩展能力,能帮助星图地球开发者平台实现什么?

    除了拥有丰富的内置资产,能便捷引接多源时空数据外,星图地球开发者平台(GEOVIS Earth Dev)还拥有强大的二次开发扩展能力,能满足各种复杂的业务需求. -强大的二次开发扩展能力,满足各种复杂 ...

  8. 为 Visual Studio 2010 开发扩展插件

    之前看到有国外的大神开发了一些非常好玩的 Visual Studio 扩展插件,觉得非常有意思,自己也参考了别人的代码做了一个插件. 首先需要安装 Visual Studio SDK ,安装不需要其它 ...

  9. 昇思MindSpore全场景AI框架 1.6版本,更高的开发效率,更好地服务开发者

    本文分享自华为云社区<昇思MindSpore全场景AI框架 1.6版本,更高的开发效率,更好地服务开发者>,作者: 技术火炬手. 全新的昇思MindSpore全场景AI框架1.6版本已发布 ...

最新文章

  1. 前端开发掌握nginx常用功能之rewrite
  2. python创建虚拟环境失败_?conda创建虚拟环境失败,如何解决?
  3. 数据库阻塞---讲解设计应用程序时避免阻塞的八个准则
  4. 主题目录检索是什么举例子_网络信息资源检索与利用第二次作业
  5. 让我小猪佩奇教你如何进行潇洒装逼
  6. 056 日志的正则式方式加载
  7. Spring2.5注解事务配置
  8. 计算机基础是五笔吗,计算机基础(五笔打字学习).ppt
  9. 完成端口(CompletionPort)之客户端篇
  10. 同比增长率,环比增长速度、环比发展速度
  11. 搞懂:1.数据流图UML2.单代号网络图绘制3.双代号网络图绘制、工作计算法、关键路径法(含例题)
  12. 扩展期权定价模型到二元期权定价
  13. WebDriver - 伪浏览器PhantomJs(ghost driver) HtmlUnit
  14. 空间直线的最小二乘拟合
  15. TortoiseSVN文件及文件夹图标不显示解决方法
  16. mongo执行逻辑表达式_Mongo学习记录
  17. 可清空所选时间的jquery.datetimepicker时间插件
  18. 华为鸿蒙OS 2.0开发文档
  19. P2P游戏更新解决方案,P2P游戏更新引擎,P2P大文件分发。
  20. 学计算机的一定要独立显卡嘛,电脑没有独立显卡会怎么样

热门文章

  1. python机器学习库sklearn——特征选择
  2. jquery获取设置元素宽高位置height()、width()、offset()、position()、scrollTop()、scrollLeft()
  3. js系列教程10-canvas绘图全解
  4. 基于Android的人事管理系统 开发与设计
  5. 风格迁移与Gram matrix
  6. nrf52832开发配置文件小记
  7. UVA10838 The Pawn Chess
  8. 一点总结,手机应用开发前景
  9. 程序员和美工是否可共存?
  10. Web文件管理原码.rar