
math1as
用ext_skel为php开发扩展
>>
完整版
ext_skel是php源码包里自带的一个开发生成工具
使用它可以用C++编译出可用的.so库,增加函数以扩展php的功能
首先从官方下载源码
将其用tar -zxvf解压
首先我们需要建立一个xxx.skel文件,里面是我们要定义的扩展函数的声明
比如 `string bingo(string str)
然后进入到php源码包的ext目录下
使用命令
[mw_shl_code=bash,true]./ext_skel --extname=bingo --proto=/home/bingo.skel[/mw_shl_code]
来生成一个框架包
然后修改config.m4文件
注释掉PHP_ARG_WITH或PHP_ARG_ENABLE(根据实际情况二选一,第一种是指扩展需第三方库支持)
所以一般我们保留第二种
修改phpext.c文件 注释掉默认的函数,并编写我们的bingo函数
用phpize创建配置,在bingo下运行:
[mw_shl_code=bash,true]/opt/lampp/bin/phpize
./configure --with-php-config=/opt/lampp/bin/php-config[/mw_shl_code]
并进行安装
[mw_shl_code=bash,true]make&&make install clean[/mw_shl_code]
在/xxx/php/下对应的文件夹内将多出一个叫binso.so的文件
找到php.ini或extensions.ini,在其中加入一行
extension=bingo.so
重启php后,就可以使用我们自己开发的这个函数扩展啦。