用C开发PHP7.1扩展模块

前言:因为自己做过C++开发,就想搞一下PHP扩展。然有此文。

           本文适合:熟悉linux源码安装;安装过lnmp或lamp的。

           看了一堆文章还不如自己看官网说明。----------智能一帅

用C开发PHP7.1扩展模块_第1张图片

《-------------------华丽的分隔线-----------------------------------------》

本文件只讲PHP扩展开发,不讲web服务器(apache、nginx.....)和数据库(mysql....)安装。

PHP版本7.1.29

去官网下载;然后解压;生成扩展模块的代码;

//进入这个目录,把PHP源码下载到这里
cd /usr/local/src  

//下载源码压缩包
wget https://www.php.net/distributions/php-7.1.29.tar.gz

//解压
tar -zxvf php-7.1.29.tar.gz

//进入源码的扩展代码目录
cd php-7.1.29/ext/

//执行这个脚本文件。这个作用是创建一个helleworld模块的文件夹和文件夹内所需要开发的文件。
./ext_skel --extname=helloword


执行以上命令会出返回以下结果,上图:

用C开发PHP7.1扩展模块_第2张图片

我们可以看到,这个脚本在ext下生成了一个helloworld的文件夹。进入helloworld文件夹:

用C开发PHP7.1扩展模块_第3张图片

接下来们按脚本返回提示操作:

一。

cd ..

二。

vim ext/helloworld/config.m4

找到以下地方,选择一种。这里我选的是不生成.so库的,所以只把第17行的dnl去掉。

用C开发PHP7.1扩展模块_第4张图片

三。

./buildconf

四。

可先执行./configure --hlep查看。可配置自己的安装目录和配置文件和要安装模块。这里不讲其它,只管helloworld我们的开发模块。因为第二步我们的选择,所以要执行以下命令。

./configuer --enable-helloworld //其它配置自己写*^*

make

./sapi/cli/php -f ext/helloworld/helloworld.php

vi ext/helloworld/helloworld.c

make

五。

此时你helloworld模块已经完成。执行php -m命令或写个phpinfo()函数都会有这个模块了

用C开发PHP7.1扩展模块_第5张图片

六。

现在你就可以用这个模块了。怎么用要看你的helloworld.c文件的情况。模块的helloworld.c文件里这个宏就是管这个的,你可以按自己需求改了。改了之后要从新编译,安装哦。

用C开发PHP7.1扩展模块_第6张图片

 

七。

可以写PHP代码了,以下函数就可以执行了。

用C开发PHP7.1扩展模块_第7张图片

 

 

 

 

你可能感兴趣的:(php,c/c++,linux)