欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

用ext_skel为php开发扩展|待更

程序员文章站 2022-06-07 18:14:39
...
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