首先下载一份PHP的源码,并上传到centos服务器上
源码下载地址:
https://github.com/php/php-src
然后在命令行进入到源码路径下的ext目录
然后创建扩展项目
[root@myhost ext]# ./ext_skel --extname=sayhello
sayhello就是扩展项目的名字
创建完成之后ext目录下会多一个sayhello的文件夹,这个文件夹就是我们的扩展项目
在php_sayhello.h文件的最后,加入如下代码
![](https://i-blog.csdnimg.cn/blog_migrate/233b5ab9db344494b950e5fc351ab108.png)
在sayhello.c中加入如下代码:
![](https://i-blog.csdnimg.cn/blog_migrate/4c48e1a19c6fc0c42c5ab417159e87f5.png)
然后改一下如下函数
![](https://i-blog.csdnimg.cn/blog_migrate/fecea27a2bd78fdd37a4331fd0eb4e9f.png)
打开config.m4文件修改如下几行代码,主要是取消注释,下图是改过之后的
![](https://i-blog.csdnimg.cn/blog_migrate/36f5be7918ecf7d98a22b4e9a29379bc.png)
在命令行进入sayhello目录下
执行如下命令
![](https://i-blog.csdnimg.cn/blog_migrate/cbac63560d31541f71e452df5d5255e6.png)
然后执行如下命令
![](https://i-blog.csdnimg.cn/blog_migrate/5528e2fa14c7a5633ccb86b3a75597cf.png)
注意安装php的方式不同php-config的路径也有可能不同
然后执行make命令
![](https://i-blog.csdnimg.cn/blog_migrate/0122332d6b1f97dacccf25296926af15.png)
然后执行make install指令
![](https://i-blog.csdnimg.cn/blog_migrate/07435bcadb25413477702c9fb6333118.png)
此指令执行完之后,你就知道你的扩展模块被安装在哪个目录下了
然后修改/etc/php.ini文件
![](https://i-blog.csdnimg.cn/blog_migrate/b08acf3b093752005546d7be11b3d637.png)
然后重启apache服务器
![](https://i-blog.csdnimg.cn/blog_migrate/edfb755a0ea386b88004b1263938d862.png)
然后查看php的模块
![](https://i-blog.csdnimg.cn/blog_migrate/8dbdf6fa0aa4155e897a189eab538a51.png)
你会看到我们的模块已经被加载进来了
然后写一个测试页面
代码如下
<?php
$a = sayhello("liulun");
echo "<br>";
echo $a;
?>;
然后把这个页面上传到如下目录
/var/www/html/
就可以看到执行情况
参考了如下两个文章
(这两个文章写的都不够好,建议读者不要看)