如何制作一个php扩展
admin
2023-06-30 19:04:10
0次

博客:http://lijinhuan.blog.51cto.com/

微博:http://weibo.com/lijinhuanexperience

代码:https://github.com/lijinhuan



一、安装php

假如把php安装/usr/local/php下


二、php扩展框架工具

进入 /php源码/ext 目录

执行

./ext_skel --extname=my_module

显示结果

Creating basic files: config.m4 config.w32 .svnignore my_module.c php_my_module.h CREDITS EXPERIMENTAL tests/001.phpt my_module.php [done].


To use your new extension, you will have to execute the following steps:


1.  $ cd ..

2.  $ vi ext/my_module/config.m4

3.  $ ./buildconf

4.  $ ./configure --[with|enable]-my_module

5.  $ make

6.  $ ./sapi/cli/php -f ext/my_module/my_module.php

7.  $ vi ext/my_module/my_module.c

8.  $ make


Repeat steps 3-6 until you are satisfied with ext/my_module/config.m4 and

step 6 confirms that your module is compiled into PHP. Then, start writing

code and repeat the last two steps as often as necessary.

其实这里就教了你怎么操作了

在当前目录再执行 cd my_module/ 进入我们的模块目录

然后我们要修改文件顺序是

configue.m4

my_module.c

php_my_module.h

修改configue.m4

根据你自己的选择将

dnl PHP_ARG_WITH(my_module, for my_module support,


dnl Make sure that the comment is aligned:

dnl [  --with-my_module             Include my_module support])


修改成

PHP_ARG_WITH(my_module, for my_module support,


Make sure that the comment is aligned:

[  --with-my_module             Include my_module support])


或者将

dnl PHP_ARG_ENABLE(my_module, whether to enable my_module support,


dnl Make sure that the comment is aligned:

dnl [  --enable-my_module           Enable my_module support])


修改成

PHP_ARG_ENABLE(my_module, whether to enable my_module support,


Make sure that the comment is aligned:


[  --enable-my_module           Enable my_module support])


其实就是去掉前面的dnl

修改my_module.c

将文件其中的下列代码进行修改


/* Every user visible function must have an entry in my_module_functions[].


*/

function_entry my_module_functions[] = {

PHP_FE(say_hello,       NULL)  /* ?添加着一行代码 */


PHP_FE(confirm_my_module_compiled,      NULL) /* For testing, remove later. */


{NULL, NULL, NULL}      /* Must be the last line in my_module_functions[] */


};

在文件的最后添加下列代码

PHP_FUNCTION(say_hello)

{

zend_printf("hello world/n");


}

修改php_my_module.h

在PHP_FUNCTION(confirm_my_module_compiled ); /* For testing, remove later. */

添加一行:

PHP_FUNCTION(say_hello); /* For testing, remove later. */

三、执行

/usr/local/php/bin/phpize

四、编译安装扩展

然后执行./configure --enable-my_module --with-php-config=/usr/local/php/bin/php-config


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...