linux下 C语言对 php 扩展
发布时间:2020-06-16 19:02:53 所属栏目:PHP教程 来源:互联网
导读:linux C语言对 php 扩展的设置技巧
一,搭建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 worldn"); } 四,编译 $ cd my_ext $ /usr/local/php/bin/phpize ps: 如果出现:Cannot find autoconf.……的错误信息,则需要安装 autoconf (安装过程略) $ ./configure --with-php-config=http://www.jb51.net/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. 则大功告成 ps:如有问题请留言,大家共同探讨 (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |