亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php的擴展寫法總結

2024-05-05 00:09:04
字體:
來源:轉載
供稿:網友

為什么要用C擴展

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

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

第一步

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

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

cd myext??梢钥吹絧hp_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是作為動態鏈接庫載入的。

第三步

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

然后修改myext.c,這個是擴展函數的實現部分。

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[] */};

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

第四步

在myext.c末尾加myext_helloworld的執行代碼。

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傳入的參數,RETURN_XXX宏是用來返回給PHP數據。

第五步

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

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


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色多多国产成人永久免费网站| 中文字幕在线亚洲| 欧美日韩久久久久| 亚洲精品久久久久久久久久久久久| 亚洲男人天天操| 日韩中文字幕视频在线| 国产乱肥老妇国产一区二| 午夜精品一区二区三区在线| 自拍偷拍亚洲在线| 欧美成人激情图片网| 性色av一区二区三区免费| 国产日本欧美一区二区三区在线| 中文字幕亚洲自拍| 久久琪琪电影院| 成人久久精品视频| 国产日韩在线亚洲字幕中文| 成人国产亚洲精品a区天堂华泰| 91在线免费看网站| 国产欧美日韩中文| 亚洲欧美国产精品va在线观看| 成人在线小视频| 日韩av在线网址| 俺去亚洲欧洲欧美日韩| 日韩一区二区三区在线播放| 日韩激情第一页| 97视频在线观看成人| 国产欧美精品xxxx另类| 91精品国产综合久久久久久蜜臀| 午夜免费日韩视频| 国产精品欧美日韩一区二区| 国产精品久久久久久久久久久久久| 97国产精品人人爽人人做| 亚洲人成网站色ww在线| 国产精品扒开腿做爽爽爽的视频| 国产成人精品一区二区在线| 欧美床上激情在线观看| 欧美高清视频在线播放| 欧美国产乱视频| 91高清视频免费| 欧美人在线观看| 久久久最新网址| 久久国产精品久久久| 久久久久久久久久久人体| 91嫩草在线视频| 国产精品爽爽ⅴa在线观看| 亚洲国产精品女人久久久| 国产剧情久久久久久| 欧美大片大片在线播放| 日韩一区二区精品视频| 亚洲丝袜一区在线| 日韩福利视频在线观看| 精品日本高清在线播放| 成人免费淫片aa视频免费| 日韩有码在线电影| 日韩av色在线| 一区二区亚洲欧洲国产日韩| 91免费高清视频| 国产精品视频一区国模私拍| 欧美激情在线视频二区| 久久人人爽亚洲精品天堂| 亚洲а∨天堂久久精品喷水| 日韩欧美一区二区在线| 久久久免费观看视频| 欧美精品电影免费在线观看| 亚洲社区在线观看| 久久琪琪电影院| 成人免费xxxxx在线观看| 亚洲尤物视频网| 欧美成人精品一区| 欧美日韩黄色大片| 久久视频精品在线| 色综合天天狠天天透天天伊人| 欧美大片第1页| 亚洲欧洲日产国产网站| 亚洲直播在线一区| 亚洲欧美一区二区三区情侣bbw| 日韩美女视频在线观看| 亚洲欧美另类中文字幕| 亚洲电影免费在线观看| 亚洲国产精品免费| 欧美xxxx做受欧美.88| 亚洲图片欧美日产| 91色琪琪电影亚洲精品久久| 国产精品久久久久久久天堂| 亚洲欧美制服中文字幕| 欧美高清自拍一区| 亚洲欧美在线看| 亚洲综合色激情五月| 久久久中文字幕| 久久久久久久久网站| 久久久精品欧美| 国产91精品不卡视频| 国产在线视频一区| 在线观看精品国产视频| 欧美激情伊人电影| 欧美另类在线观看| 一本色道久久88综合亚洲精品ⅰ| 97香蕉久久超级碰碰高清版| 91wwwcom在线观看| 68精品久久久久久欧美| 欧美午夜精品伦理| www高清在线视频日韩欧美| 欧美日韩福利视频| www国产91| 国产精品一久久香蕉国产线看观看| 97免费在线视频| 欧洲亚洲在线视频| 菠萝蜜影院一区二区免费| 午夜精品久久久久久久久久久久| 97久久久免费福利网址| 人人做人人澡人人爽欧美| 国产精品高潮呻吟久久av野狼| 久久免费福利视频| 亚洲成人激情小说| 色播久久人人爽人人爽人人片视av| 欧美激情在线视频二区| 国产精品视频不卡| 日韩av电影院| 欧洲成人在线视频| 精品中文字幕在线2019| 欧洲亚洲女同hd| 91九色国产在线| 久久国产一区二区三区| 亚洲国产精品久久久久久| 亚洲乱亚洲乱妇无码| 日韩欧美在线播放| 国产精品91一区| 7777免费精品视频| www.亚洲一区| 欧美色欧美亚洲高清在线视频| 精品国产老师黑色丝袜高跟鞋| 成人黄色av网站| 亚洲女人初尝黑人巨大| 久久久久久久国产精品视频| 国产精品av网站| 国产在线日韩在线| 日韩色av导航| 久久97精品久久久久久久不卡| 伊人久久久久久久久久| 亚洲黄色免费三级| 国产成人一区二区在线| 91久久久久久久久久久| 色哟哟亚洲精品一区二区| 国产视频精品va久久久久久| 日韩精品高清在线观看| 亚洲精品免费av| 久久综合久久88| 91系列在线播放| 伊人青青综合网站| 国产欧美精品在线播放| 欧美日韩国产影院| 九九热r在线视频精品| 精品免费在线观看| 久久精品久久久久久| 亚洲精品久久视频| 97超碰国产精品女人人人爽| 北条麻妃在线一区二区| 国产精品高潮在线| 欧美性猛交xxxx黑人| 不卡av电影在线观看| 精品人伦一区二区三区蜜桃网站| 人妖精品videosex性欧美| 欧美与欧洲交xxxx免费观看| 91热精品视频|