一,搭建php环境 下载php 5.2.6 源码 并解压 编译安装,搭建php环境 二,创建扩展项目 进入源码目录 cd php5.2.6/ext/ ./ext_skel --extname=my_ext 创建名字为my_ext的项目,最终会生成my_ext.so 三,更改配置和程序 $ vi ext/my_ext/config.m4 根据你自己的选择将 dnl PHP_ARG_WITH(my_ext, for my_ext support, dnl Make sure that the comment is aligned: dnl [ --with-my_ext Include my_ext support]) 修改成 PHP_ARG_WITH(my_ext, for my_ext support, Make sure that the comment is aligned: [ --with-my_ext Include my_ext support]) 或者将 dnl PHP_ARG_ENABLE(my_ext, whether to enable my_ext support, dnl Make sure that the comment is aligned: dnl [ --enable-my_ext Enable my_ext support]) 修改成 PHP_ARG_ENABLE(my_ext, whether to enable my_ext support, Make sure that the comment is aligned: [ --enable-my_ext Enable my_ext support]) $ vi ext/my_ext/php_my_ext.h 将 PHP_FUNCTION(confirm_my_ext_compiled); /* For testing, remove later. */ 更改为 PHP_FUNCTION(say_hello); $ vi ext/my_ext/my_ext.c 将 zend_function_entry php5cpp_functions[] = { PHP_FE(confirm_my_ext_compiled, NULL) /* For testing, remove later. */ {NULL, NULL, NULL} /* Must be the last line in php5cpp_functions[] */ }; 更改为 zend_function_entry php5cpp_functions[] = { PHP_FE(say_hello, NULL) {NULL, NULL, NULL} /* Must be the last line in php5cpp_functions[] */ }; 在最后添加: PHP_FUNCTION(say_hello) { zend_printf("hello world
"); } 四,编译 $ cd my_ext $ /usr/local/php/bin/phpize ps: 如果出现:Cannot find autoconf.……的错误信息,则需要安装 autoconf (安装过程略) $ ./configure --with-php-config=/usr/local/php/bin/php-config $ make 这时会编译出 my_ext/modules/my_ext.so 五,配置php.ini 将my_ext.so放入/usr/local/php/ext/目录 $ vi php.ini 修改添加如下: extension_dir = "/usr/local/php/ext/" extension=my_ext.so 六,测试 $ vi test.php <?php say_hello(); ?> $ /usr/local/php/bin/php test.php hello world. 则大功告成GNU/Linux 环境 IPv6 简明应用指南Linux平台上几个常见内核内存分配函数相关资讯 C语言
- 最受欢迎编程语言又是谁?C语言居 (今 08:08)
- C语言背后的运行机制 (03月06日)
- C语言打印各种图形 (12/29/2015 22:06:28)
| - C是2016年最流行语言 (07月28日)
- 轻松学C语言(图解版)高清晰扫描 (02月25日)
- C语言实现文件实时更新 (11/11/2015 14:16:24)
|
本文评论 查看全部评论 (0)