中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

php的擴展寫法是怎樣的

php的擴展寫法是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

站在用戶的角度思考問題,與客戶深入溝通,找到文安網(wǎng)站設(shè)計與文安網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋文安地區(qū)。

為什么要用C擴展

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

另外C擴展是在進程啟動時加載的,PHP代碼只能操作Request生命周期的數(shù)據(jù),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內(nèi)核中。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ù)據(jù)。

第五步

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

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

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

網(wǎng)站題目:php的擴展寫法是怎樣的
URL地址:http://m.2m8n56k.cn/article30/johppo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站企業(yè)建站品牌網(wǎng)站建設(shè)外貿(mào)建站面包屑導航品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)
主站蜘蛛池模板: 深夜做爰性大片中文 | 久久精品毛片 | 国产一级做a爰片在线看免费 | 色老久久精品偷偷鲁一区 | 失禁h啪肉尿出来高h男男 | 香蕉毛片| 目韩一区二区三区系列片丶 | 久久久精品国产 | 真实一级一级一片免费视频 | 一级毛片成人午夜 | 日本一区二区高清免费不卡 | 亚洲一区 在线播放 | 特级a欧美做爰片毛片 | 欧美成人在线免费观看 | 日韩午夜在线观看 | 国产精品国产亚洲精品不卡 | 亚洲入口 | 波多野结衣中文一区二区免费 | 亚洲国产欧美日韩精品一区二区三区 | 欧美一级片免费 | 亚洲黄视频在线观看 | 中文字幕国产视频 | 尹人香蕉久久99天天拍 | 国产精品爱久久久久久久小 | 亚洲精品成人网久久久久久 | 女人十八一级毛片 | 综合欧美一区二区三区 | 99ri在线精品视频在线播放 | 亚洲国产欧美在线不卡中文 | 国产在线观看免费一级 | 精品无码久久久久国产 | 在线免费观看一区二区三区 | 国产精品一区在线观看 | 波野多结衣在线观看 | 免费特黄一区二区三区视频一 | 免费播放美女一级毛片 | 国产免费人成在线看视频 | 女人又黄的视频网站 | 亚洲国产成人久久一区www | 日本68xxxxxxxxx老师 | 中文字幕一级毛片视频 |