开发php的扩展模块(centos环境下)
首先下载一份PHP的源码,并上传到centos服务器上
然后在命令行进入到源码路径下的ext目录
然后创建扩展项目
[root@myhost ext]# ./ext_skel --extname=sayhello
sayhello就是扩展项目的名字
创建完成之后ext目录下会多一个sayhello的文件夹,这个文件夹就是我们的扩展项目
在php_sayhello.h文件的最后,加入如下代码
在sayhello.c中加入如下代码:
然后改一下如下函数
打开config.m4文件修改如下几行代码,主要是取消注释,下图是改过之后的
在命令行进入sayhello目录下
执行如下命令
然后执行如下命令
注意安装php的方式不同php-config的路径也有可能不同
然后执行make命令
然后执行make install指令
此指令执行完之后,你就知道你的扩展模块被安装在哪个目录下了
然后修改/etc/php.ini文件
然后重启apache服务器
然后查看php的模块
你会看到我们的模块已经被加载进来了
然后写一个测试页面
代码如下
<?php
$a = sayhello("liulun");
echo "<br>";
echo $a;
?>;
然后把这个页面上传到如下目录
/var/www/html/
就可以看到执行情况
参考了如下两个文章
(这两个文章写的都不够好,建议读者不要看)
分类:
php
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统