如何制作一个php扩展

http://lijinhuan.blog.51cto.com/http://weibo.com/lijinhuanexperience


假如把php安装/usr/地方/php下


进入/php源码/ext目录

执行

。/ext_skel——extname=my_module

显示结果

创建基本文件:配置。m4配置。w32 .svnignore my_module。c php_my_module。实验测试/001 h学分。phpt my_module。php(完成)。


使用你的新扩展,您必须执行以下步骤:


1。,$ cd . .

2。第六,美元ext/my_module config.m4

3。美元。/buildconf

4。美元。/configure——(与|启用)-my_module

5。美元,使

6。美元。/sapi/cli php - f/ext/my_module my_module.php

7。第六,美元ext/my_module my_module.c

8。美元,使


重复步骤3 - 6直到你满意ext/my_module/配置。m4和

步骤6证实你的PHP模块编译成。然后,开始写

代码和重复最后两个步骤是必要的。

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

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

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

configue.m4 my_module.c

php_my_module.h

修改configue。m4

根据你自己的选择将

dnl PHP_ARG_WITH (my_module my_module支持,


dnl确保评论对齐:

dnl [——with-my_module大敌;,,,,,包括my_module支持])


修改成

PHP_ARG_WITH (my_module my_module支持,


确保评论对齐:

[——with-my_module大敌;,,,,,包括my_module支持])


或者将

dnl PHP_ARG_ENABLE (my_module,是否启用my_module支持,


dnl确保评论对齐:

dnl [——enable-my_module大敌;,,,,启用my_module支持])


修改成

PHP_ARG_ENABLE (my_module,是否启用my_module支持,


确保评论对齐:


[——enable-my_module大敌;,,,,启用my_module支持])


其实就是去掉前面的dnl

修改my_module。c

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


/*每个用户可见的函数必须有一个进入my_module_functions []。


*/

function_entry my_module_functions []={

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


PHP_FE (confirm_my_module_compiled,,,,NULL)/*测试,稍后删除。*/


{空,空,空},,,/*必须最后一行在my_module_functions [] */


};

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

PHP_FUNCTION (say_hello)

{

zend_printf (“hello world”/n);


}

修改php_my_module。h

在PHP_FUNCTION (confirm_my_module_compiled);/*用于测试,稍后删除。*/

添加一行:

PHP_FUNCTION (say_hello);/*用于测试,稍后删除。*/

/usr/地方/php/bin/phpize

然后执行。/configure——enable-my_module with-php-config=/usr/地方/php/bin/php-config


如何制作一个php扩展