PHP扩展开发之路(二)

admin 2025-12-19 103 0

昨日之时,Jamlee发布了那名为PHP扩展开发之路(一)的内容,到了今日,开启了续集篇章,哈哈,这般情景,会不会有着更为有趣的状况呢!不讲过多其他,直接步入主题,开始啦!

哎呀呀,这神秘的0x2,那赫赫有名的hello world!居然是你第一个php扩展呢!

阅读前必看小贴士:

要是你不打算在这个教程里去拷贝代码,那你能够去clone一下这个名为github的仓库,每一小节所对应的代码,是和每一小节的分支相互对应的,当你阅读到那个小节的时候,你能够切换到该小节所对应的代码分支。

使用命令“git clone”,从“git://github.com/kchodorow/rlyeh.git”这个地址进行克隆操作,。

比如当前小节的代码分支名是oop,你可以这样

$,执行git,进行checkout操作,以-b参数指定oop分支,基于origin/oop进行操作 。

本章的代码的分支是master,你可以直接

$ git clone git://github.com/kchodorow/rlyeh.git

而不用切换分支。

##正文开始##

我们可以在任何地方创建一个文件夹rlyeh

$ mkdir rlyeh

$ cd rlyeh

一个php扩展至少由下面的3个文件组成

“config.m4”,它包含着针对PHP的编译指令 ,这些指令用于指导PHP的编译过程 ,是PHP编译流程中至关重要的一部分 。

“php_extname.c”: source code

一个头文件,名为“php_extname.h”,。

最先去创建config.m4这个文件,然而讲真的这实在是特别无趣,其中所包含的内容几乎全都就是规定好的,你只要晓得存在这样一个就成了,我所提出的建议为最好是于代码仓库当中拷贝这些代码 。

php扩展开发入门_php扩展开发教程_php程序员简历模板

再创建php_rlyeh.c文件

上面呈现的这个文件,全然就是一个具备模板特性的文件,然而这个对于我们而言,是极具重要性的。但你对此并不知晓,这并无大碍,恰似当初开始学习java之际,你对public static void main所蕴含的意义迷茫不解一般。待到后续我们再详述,一步步加以说明。

最后创建php_rlyeh.h文件,

你可以修改版本号,随你怎么写,使用

可以查看扩展模块的信息。(当然前提是这个模块已经安装)

直到如今,全部的准备事项都已经完成了哈。即将着手进行编译并安装php的扩展了:

此时将扩展增添至php.ini文件里,通常来讲php.ini的所在处位于($。

(PHPDIR 下的 install - debug - zts 文件夹中的 lib 文件里的 php.ini),要是不存在这个文件,能够从 php 源码的根目录复制一个过来 。

添加这行:

extension=rlyeh.so

此刻,你能够运用你针对php所编写的扩展函数,如同php的其他内置函数那般,无需导入文件,直接拿过来就能够使用:

恭喜你的一个扩展文件已经开始工作了。

身为工程师Jamlee,这些经验,对于正在学习语言的你,有没有起到帮助作用呢?