使用c语言编译PHP的自定义扩展

Posted rxbook

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用c语言编译PHP的自定义扩展相关的知识,希望对你有一定的参考价值。

下载php源码包:
cd php-7.2.6/ext/
./ext_skel --extname=ninebot , 将在ext目录下生成 ninebot 目录。

技术图片 

 cd ninebot

编辑 config.m4 文件,去掉第16行和第18行的注释(注释符号为 dnl 。)

16: PHP_ARG_ENABLE(hello, whether to enable hello support,
17: dnl Make sure that the comment is aligned:
18: [ --enable-hello Enable hello support])

然后执行 phpize 程序,生成configure脚本:

技术图片

cd ../.. (进入php-7.2.6主目录)
./buildconf [--force]
执行完成后使用 ./configure --help | grep "ninebot" 看看有没有ninebot这个扩展

技术图片

技术图片

vim ext/ninebot/ninebot.c (写入具体的扩展内容),例如:
技术图片
1 PHP_FUNCTION(abc)
2 {
3     printf("%s","just for test");
4 }
View Code
./configure --prefix=/Applications/MxSrvs/bin/php --enable-ninebot
make
make install
./sapi/cli/php -f ext/ninebot/ninebot.php

 

以上是关于使用c语言编译PHP的自定义扩展的主要内容,如果未能解决你的问题,请参考以下文章

如何用C语言编写PHP扩展的详解

如何用C语言编写PHP扩展的详解

PHP扩展开发编译环境的搭建

如何调试并进入转换为 C++ 的自定义语言源?

c/c++c语言的自增操作在不同编译器的差别

PHP 和依赖扩展的静态编译