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