好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > php的擴展寫法總結

php的擴展寫法總結

熱門標簽:咸寧銷售電銷機器人系統(tǒng) 外呼系統(tǒng)能給企業(yè)帶來哪些好處 百度地圖標注偏差 百度地圖怎樣標注圖標 400電話蘭州申請請 電銷機器人問門薩維品牌my 余姚電話機器人 開發(fā)地圖標注類網站 廣東廣州在怎么申請400電話

為什么要用C擴展

C是靜態(tài)編譯的,執(zhí)行效率比PHP代碼高很多。同樣的運算代碼,使用C來開發(fā),性能會比PHP要提升數(shù)百倍。IO操作如CURL,因為耗時主要在IOWait上,C擴展沒有明顯優(yōu)勢。

另外C擴展是在進程啟動時加載的,PHP代碼只能操作Request生命周期的數(shù)據,C擴展可操作的范圍更廣。

第一步

下載PHP的源代碼,如php-5.4.16。解壓后進入php-5.4.16\ext目錄。輸入 ./ext_skel –extname=myext,myext就是擴展的名稱,執(zhí)行后生成myext目錄。

ext_skel是PHP官方提供的用于生成php擴展骨架代碼的工具。

cd myext。可以看到php_myext.h、myext.c、config.m4等幾個文件。config.m4是AutoConf工具的配置文件,用來修改各種編譯選項。

第二步

修改config.m4,將

dnl PHP_ARG_WITH(myext, for myext support,

dnl Make sure that the comment is aligned:

dnl [ --with-myext       Include myext support])

修改為

PHP_ARG_WITH(myext, for myext support,

[ --with-myext       Include myext support])

下邊還有一個 –enable-myext,是表示編譯到php內核中。with是作為動態(tài)鏈接庫載入的。

第三步

修改php_myext.h,看到PHP_FUNCTION(confirm_myext_compiled); 這里就是擴展函數(shù)聲明部分,可以增加一行 PHP_FUNCTION(myext_helloworld); 表示聲明了一個myext_helloworld的擴展函數(shù)。

然后修改myext.c,這個是擴展函數(shù)的實現(xiàn)部分。

const zend_function_entry myext_functions[] = {

    PHP_FE(confirm_myext_compiled, NULL)      /* For testing, remove later. */

    PHP_FE(myext_helloworld, NULL)

    PHP_FE_END   /* Must be the last line in myext_functions[] */

};

這的代碼是將函數(shù)指針注冊到Zend引擎,增加一行PHP_FE(myext_helloworld, NULL)(后面不要帶分號)。

第四步

在myext.c末尾加myext_helloworld的執(zhí)行代碼。

PHP_FUNCTION(myext_helloworld)

{

    char *arg = NULL;

  int arg_len, len;

  char *strg;

  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", arg, arg_len) == FAILURE) {

    return;

  }

  php_printf("Hello World!\n");

  RETRUN_TRUE;

}

zend_parse_parameters是用來接受PHP傳入的參數(shù),RETURN_XXX宏是用來返回給PHP數(shù)據。

第五步

在myext目錄下依次執(zhí)行phpize、./configure 、make、make install。然后修改php.ini加入extension=myext.so

執(zhí)行php -r “myext_helloworld(‘test');”,輸出hello world!

您可能感興趣的文章:
  • PHP7 mongoDB擴展使用的方法分享
  • PHP擴展Swoole實現(xiàn)實時異步任務隊列示例
  • PHP基于mcript擴展實現(xiàn)對稱加密功能示例
  • PHP安裝memcache擴展的步驟講解
  • PHP安裝BCMath擴展的方法
  • PHP擴展mcrypt實現(xiàn)的AES加密功能示例

標簽:銅陵 麗江 巴彥淖爾 臨沂 重慶 鷹潭 十堰 衡陽

巨人網絡通訊聲明:本文標題《php的擴展寫法總結》,本文關鍵詞  php,的,擴展,寫法,總結,php,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php的擴展寫法總結》相關的同類信息!
  • 本頁收集關于php的擴展寫法總結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 无人区在线高清免费看预告片 | h类小说| 好爽?要高潮了?深点国产| 毛片无遮挡A片免费无码| 精品国产香蕉伊思人在线又爽又黄| 福利姬麻酥酥| 天天天天天天干| 《国色天香》在线播放影院| 日本学生和老师做XXXX| 我15被好几个同学做了| 日韩精品高分影片| 色婷婷AV一区二区三区妖精视频| 中国xvideos厕所偷窥| a级绝对黄| 狠狠狠色| gog0美女大尺度人体私拍| 文枫柔佳全文未删小说| 一级毛片久久久久久久久18女人| 嗯深一点| 国产成人啪免费观看软件| 勃起夫目前寝取愿望在线播放| 中美日韩一区二区三区| freexxxxjapan| 女同性做受全过程gif| 调教套上奶牛榨乳器喷奶水| yy6808午夜久久久久精品| 24小时日本电影免费看| 端庄麻麻被蹂躏到沦陷| 女友闺蜜2伦理| 久久亚洲精品无码Va白人极品| 3atv国产精品视频| 国产丝袜精品丝袜一区二区| 俄罗斯性xxx极品| 他咬住我的奶头都硬了| 国产又粗又猛又爽又黄的国漫视频| 嗯啊~好舒服| 超h肉爽文| 波多野结衣在线免费播放| 久久久亚洲一区二区三区| 成人美女隐私免费| 9pregnantman孕妇孕交|