源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

linux下 C语言对 php 扩展

  • 时间:2020-02-23 03:27 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:linux下 C语言对 php 扩展
[b]一,搭建php环境 [/b]下载php 5.2.6 源码 并解压 编译安装,搭建php环境 [b] 二,创建扩展项目[/b] 进入源码目录 cd php5.2.6/ext/ ./ext_skel --extname=my_ext 创建名字为my_ext的项目,最终会生成my_ext.so [b]三,更改配置和程序[/b] $ 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\n"); } [b]四,编译[/b] $ 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 [b]五,配置php.ini[/b] 将my_ext.so放入/usr/local/php/ext/目录 $ vi php.ini 修改添加如下: extension_dir = '/usr/local/php/ext/' extension=my_ext.so   [b]六,测试[/b] $ vi test.php <?php    say_hello(); ?> $ /usr/local/php/bin/php test.php hello world. 则大功告成 ps:如有问题请留言,大家共同探讨
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部