PHP扩展开发——ext_skel 工具的使用
如何快速的搭建一个PHP扩展骨架?其实PHP源码中自带了一个工具 ext_skel
,可以快速的创建PHP扩展的骨架,从而使开发者可以快速进入扩展的实现。 下面就来说一说ext_skel
的使用。
我们以php5.6为例。并且下载PHP源码:/home/onmpw/workspace/php56
1. ext_skel 所在位置
这里需要注意的是,ext_skel是在PHP源码目录中,而不是在安装目录中。也就是/home/onmpw/workspace/php56/ext/ext_skel
。
这是一个shell脚本,可以直接执行。例如:
onmpw$ workspace/php56/ext/ext_skel --extname=my_ext
2. 生成扩展
上面已经简单说过ext_skel
的使用方式。这里我们需要说明的是我们的扩展可以也放在源码目录的ext目录下;也可以单独放在指定的目录里面。
-
放在源码的ext目录中这种方式也比较简单,这就需要我们进入到源码的ext目录中。然后执行脚本
ext_skel
。onmpw$ cd ~/workspace/php56/extonmpw ext$ ./ext_skel --extname=my_ext
-
单独指定目录假如我们要将其放在 /home/onmpw/workspace/myexts 目录下。我们就需要进入到这个目录
要想将扩展放在某个目录下,一定要进入这个目录,由参数 --extname=my_ext 指定扩展名,就会在目录下生成一个 my_ext的文件夹。包括在源码的ext目录中也是一样要进入到相应目录中去。 不一样的地方就是单独指定目录的话,需要--skel参数来指明生成扩展的模板——skeleton,该模板文件也是在源码的ext目录下。
onmpw$ cd ~/workspace/myextsonmpw myexts$ ~/workspace/php56/ext/ext_skel --extname=my_ext --skel=$HOME/workspace/php56/ext/skeleton
需要注意的是,在linux中符号
~
和$HOME是相同效果的。但是--skel参数不能用符号~
,可以用$HOME来指定绝对路径(一定要用绝对路径)。
脚本执行完之后,我们的扩展的基本框架就有了。接下来就是来实现我们自己想要的功能了。
相关文章
如何使用 CLion 开发调试 PHP 扩展
发布时间:2021/07/02 浏览次数:231 分类:PHP
-
php 扩展的创建这里就不再赘述,使用ext_skel 生成一个框架,然后编辑相应的文件,编译安装,最后在php.ini 配置文件中加入生成的扩展 例如 my_ext.so
PHP扩展开发 ini配置项定义
发布时间:2021/07/02 浏览次数:46830 分类:PHP
-
本篇主要介绍在PHP扩展开发过程中,如何定义扩展的ini配置项。本章内容将通过jlog扩展为示例,说明定义ini配置项
PHP扩展开发之最详细的RETURN_STRINGL讲解
发布时间:2021/06/15 浏览次数:182 分类:PHP
-
本篇主要介绍在PHP扩展开发的过程中肯定会用到的一个宏 RETURN_STRINGL 。
PHP内核开发,接收用户传入的参数
发布时间:2021/06/10 浏览次数:207 分类:PHP
-
在内核开发中,在接收用户传入的参数的过程中,可以使用 zend_parse_parameters()函数。