<span id='ujo5a'></span>

  1. <tr id='ujo5a'><strong id='ujo5a'></strong><small id='ujo5a'></small><button id='ujo5a'></button><li id='ujo5a'><noscript id='ujo5a'><big id='ujo5a'></big><dt id='ujo5a'></dt></noscript></li></tr><ol id='ujo5a'><table id='ujo5a'><blockquote id='ujo5a'><tbody id='ujo5a'></tbody></blockquote></table></ol><u id='ujo5a'></u><kbd id='ujo5a'><kbd id='ujo5a'></kbd></kbd>

      <fieldset id='ujo5a'></fieldset>
    1. <i id='ujo5a'></i>

          <code id='ujo5a'><strong id='ujo5a'></strong></code>
        1. <acronym id='ujo5a'><em id='ujo5a'></em><td id='ujo5a'><div id='ujo5a'></div></td></acronym><address id='ujo5a'><big id='ujo5a'><big id='ujo5a'></big><legend id='ujo5a'></legend></big></address>
        2. <i id='ujo5a'><div id='ujo5a'><ins id='ujo5a'></ins></div></i><ins id='ujo5a'></ins>

          <dl id='ujo5a'></dl>

          Linux下C语言对PHP扩展

          • 时间:
          • 浏览:5
          • 来源:124软件资讯网

            一  ,搭建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);

              更改为

              PHP_FUNCTION(say_hello);

              $ vi ext/my_ext/my_ext.c

              将

              zend_function_entry php5cpp_functions[] = {

              PHP_FE(confirm_my_ext_compiled, NULL)

              {NULL, NULL, NULL}

              };

              更改为

              zend_function_entry php5cpp_functions[] = {

              PHP_FE(say_hello, NULL)

              {NULL, NULL, NULL}

              };

              在最后添加:

              PHP_FUNCTION(say_hello)

              {

              zend_printf("hello world\n");

              }

              四  ,编译

              $ 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

              

              say_hello();

              ?>

              $ /usr/local/php/bin/php test.php

              hello world.

              则大功告成