红联Linux门户
Linux帮助

linux c开发php7扩展

发布时间:2017-03-23 15:30:26来源:linux网站作者:MR风野
记录一下php7扩展开发的步骤。
 
先做准备工作
1:在php.net下载源代码
2:安装php7
Ubuntu 16.04源码编译安装PHP7:http://www.linuxdiyf.com/linux/23034.html
 
扩展名称为gradytest,下面开始操作
进入ext目录,执行
./ext_skel --extname=gradytest
linux c开发php7扩展
生成gradytest扩展目录
linux c开发php7扩展
修改config.m4内容
把下图中的dnl注释去掉
linux c开发php7扩展
注:关于PHP_ARG_WITH和PHP_ARG_ENABLE的区别,config.m4里面已经有说明,看是否依赖第三方的库,咱们只是做测试使用,不依赖第三方库,就选择了PHP_ARG_ENABLE,去掉注释即可
linux c开发php7扩展
:wq保存退出
继续执行
/usr/local/php7/bin/phpize
linux c开发php7扩展
./configure --with-php-config=/usr/local/php7/bin/php-config
linux c开发php7扩展
make && make install
linux c开发php7扩展
ll /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/  
linux c开发php7扩展
php扩展已经生成了
 
编辑php.ini,然后php -m查看
linux c开发php7扩展
linux c开发php7扩展
然后用php脚本执行一下
vim gradytest.php
linux c开发php7扩展
php gradytest.php
linux c开发php7扩展
这说明扩展ok了,confirm_gradytest_compiled方法是ext_skel生成的默认方法,可以检测是否成功。
 
查看gradytest.c可看到confirm_gradytest_compiled是默认方法,已经注册
cat gradytest.c 
linux c开发php7扩展
linux c开发php7扩展
 
注意,下面咱们按照confirm_gradytest_compiled写自己的方法gradytest
vim gradytest.c
编辑gradytest.c添加gradytest方法
linux c开发php7扩展
linux c开发php7扩展
接下来重新编译,安装,步骤如上面,不多说
linux c开发php7扩展
linux c开发php7扩展
 
自己的第一个扩展完成,其他更有意思的程序开发,需要深入php内核和Linux下C语言的学习了。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/29421.html