IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)操作系統(tǒng)LINUX → Linux下C語言對(duì)PHP擴(kuò)展

Linux下C語言對(duì)PHP擴(kuò)展

時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

  一,搭建php環(huán)境

  下載php 5.2.6 源碼 并解壓編譯安裝,搭建php環(huán)境

  二,創(chuàng)建擴(kuò)展項(xiàng)目

  進(jìn)入源碼目錄

  cd php5.2.6/ext/

  ./ext_skel --extname=my_ext

  創(chuàng)建名字為my_ext的項(xiàng)目,最終會(huì)生成my_ext.so

  三,更改配置和程序

  $ vi ext/my_ext/config.m4

  根據(jù)你自己的選擇將

  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");

  }

  四,編譯

  $ cd my_ext

  $ /usr/local/php/bin/phpize

  ps: 如果出現(xiàn):Cannot find autoconf.……的錯(cuò)誤信息,則需要安裝 autoconf (安裝過程略)

  $ ./configure --with-php-config=/usr/local/php/bin/php-config

  $ make

  這時(shí)會(huì)編譯出 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

  六,測(cè)試

  $ vi test.php

  

  say_hello();

  ?>

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

  hello world.

  則大功告成

關(guān)鍵詞標(biāo)簽:Linux,C語言,PHP擴(kuò)展

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP Linux操作系統(tǒng)修改IP

相關(guān)下載

    人氣排行 Linux下獲取CPUID、硬盤序列號(hào)與MAC地址 dmidecode命令查看內(nèi)存型號(hào) linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載