牛骨文教育服务平台(让学习变的简单)
博文笔记

linux c 开发php7扩展

创建时间:2017-03-22 投稿人: 浏览次数:1493

记录一下php7扩展开发的步骤

先做准备工作

1:在php.net下载源代码

2:安装php7

安装过程看以前文章


扩展名称为gradytest,下面开始操作

进入ext目录,执行

./ext_skel --extname=gradytest



生成gradytest扩展目录



修改config.m4内容

把下图中的dnl注释去掉,


注:关于PHP_ARG_WITH和PHP_ARG_ENABLE的区别,config.m4里面已经有说明,看是否依赖第三方的库,咱们只是做测试使用,不依赖第三方库,就选择了PHP_ARG_ENABLE,去掉注释即可


:wq保存退出

继续执行

/usr/local/php7/bin/phpize

 


./configure --with-php-config=/usr/local/php7/bin/php-config



make && make install



ll /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/  


php扩展已经生成了


编辑php.ini,然后php -m查看





然后用php脚本执行一下

vim gradytest.php



 php gradytest.php



这说明扩展ok了,confirm_gradytest_compiled方法是ext_skel生成的默认方法,可以检测是否成功

查看gradytest.c可看到confirm_gradytest_compiled是默认方法,已经注册

 cat gradytest.c 





注意,下面咱们按照confirm_gradytest_compiled写自己的方法gradytest

vim gradytest.c

编辑gradytest.c添加gradytest方法





接下来重新编译,安装,步骤如上面,不多说





自己的第一个扩展完成,其他更有意思的程序开发,需要深入php内核和linux下c语言的学习了


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。