linux下 C语言对 php 扩展
发布时间:2020-12-13 05:29:41 所属栏目:PHP教程 来源:网络整理
导读:一,搭建php环境 下载php 5.2.6 源码 并解压 编译安装,搭建php环境 二,创建扩展项目 进入源码目录 cd php5.2.6/ext/ 创建名字为my_ext的项目,最终会生成my_ext.so 三,更改配置和程序 $ vi ext/my_ext/config.m4根据你自己的选择将dnl PHP_ARG_WITH(my_ex
一,搭建php环境下载php 5.2.6 源码 并解压编译安装,搭建php环境 二,创建扩展项目 进入源码目录 cd php5.2.6/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, 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,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} /* Must be the last line in php5cpp_functions[] */ };在最后添加: PHP_FUNCTION(say_hello) { zend_printf("hello worldn"); }四,编译 $ 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放入$ vi php.ini修改添加如下: extension_dir = '/usr/local/php/ext/' 六,测试 $ vi test.php say_hello(); ?>$ /usr/local/php/bin/php test.php hello world.则大功告成ps:如有问题请留言,大家共同探讨 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |