亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

PHP擴(kuò)展開發(fā):第一個(gè)擴(kuò)展

JerryWangSAP / 1760人閱讀

摘要:擴(kuò)展開發(fā)第一個(gè)擴(kuò)展擴(kuò)展開發(fā)安裝定時(shí)器在上一篇文章擴(kuò)展開發(fā)安裝我們已經(jīng)將開發(fā)擴(kuò)展的環(huán)境安裝成功,那么接下來采用最簡單直接的方式創(chuàng)建第一個(gè)擴(kuò)展。

PHP擴(kuò)展開發(fā):第一個(gè)擴(kuò)展

《PHP擴(kuò)展開發(fā):安裝PHP》
《POSIX定時(shí)器:timer_settime() 》
在上一篇文章《PHP擴(kuò)展開發(fā):安裝PHP》我們已經(jīng)將開發(fā)PHP擴(kuò)展的PHP環(huán)境安裝成功,那么接下來采用最簡單直接的方式創(chuàng)建第一個(gè)擴(kuò)展。

我們先假設(shè)業(yè)務(wù)場景,是需要有這么一個(gè)擴(kuò)展,提供一個(gè)叫ccvita_string的函數(shù),他的主要作用是返回一段字符。(這個(gè)業(yè)務(wù)場景實(shí)在太假,大家就這么看看吧)對應(yīng)的PHP代碼可能是這樣:

function ccvita_string($str){

 $result = "Link";
 return $result;

}
第一步,生成代碼
PHP為了擴(kuò)展開發(fā)的方便,提供了一個(gè)類似代碼生成器的工具ext_skel,具體可以參見說明。
首先我們創(chuàng)建一個(gè)文件ccvita.skel,它的內(nèi)容為

string ccvita_string(string str)

就是告訴ext_skel這個(gè)東西,我們要做的擴(kuò)展里面有個(gè)函數(shù)叫ccvita_string。然后執(zhí)行
cd MooENV/src/php-5.3.8/ext/
./ext_skel --extname=ccvita --proto=ccvita.skel
cd ccvita/

這時(shí)候,ccvita這個(gè)擴(kuò)展的代碼框架就已經(jīng)出來了。
第二步,修改配置
然后修改config.m4文件將10、11、12三行最前面的dnl刪除掉,就是將

dnl PHP_ARG_WITH(ccvita, for ccvita support,
dnl Make sure that the comment is aligned:
dnl [ --with-ccvita Include ccvita support])

修改為
PHP_ARG_WITH(ccvita, for ccvita support,
Make sure that the comment is aligned:
[ --with-ccvita Include ccvita support])
第三步,實(shí)現(xiàn)功能
修改源碼ccvita.c文件
找到將ccvita_string這個(gè)函數(shù)修改為

PHP_FUNCTION(ccvita_string)
{

char *str = NULL;
int argc = ZEND_NUM_ARGS();
int str_len;
char *result;

if (zend_parse_parameters(argc TSRMLS_CC, "s", &str, &str_len) == FAILURE) 
    return;

str_len = spprintf(&result, 0, "Link", str);
RETURN_STRINGL(result, str_len, 0); 

}
第四步,編譯擴(kuò)展
保存后,開始編譯

/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
第五步,添加擴(kuò)展
這時(shí)候,一切順利的話,該擴(kuò)展已經(jīng)在modules/ccvita.so這個(gè)位置了。下面就是將這個(gè)擴(kuò)展加入到PHP中去,讓我們PHP程序可以調(diào)用到。

cp modules/ccvita.so /usr/local/php/ext/
vim /usr/local/php/etc/php.ini
extension=/usr/local/php/ext/ccvita.so #在php.ini文件最后增加這一行
service php-fpm restart #重啟PHP服務(wù)
cp ccvita.php /data/www/wwwroot/default/
接下來就可以訪問ccvita.php這個(gè)文件,測試擴(kuò)展了。下一篇,將會涉及一些更深入的內(nèi)容。

相關(guān)代碼,可以在我的github上clone出來,地址:https://github.com/KimiChen/P...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/31963.html

相關(guān)文章

  • PHP擴(kuò)展開發(fā)教程2 - 編寫一個(gè)擴(kuò)展 hello world

    摘要:二下載第一個(gè)擴(kuò)展第一個(gè)擴(kuò)展的源碼已經(jīng)在上準(zhǔn)備好了,直接用命令克隆,或者手工下載都可以。第四步確認(rèn)擴(kuò)展已經(jīng)安裝成功使用命令可以查看目前已經(jīng)安裝的所有擴(kuò)展。 PHP擴(kuò)展是高級PHP程序員必須了解的技能之一,對于一個(gè)初入門的PHP擴(kuò)展開發(fā)者,怎么才能開發(fā)一個(gè)成熟的擴(kuò)展,進(jìn)入PHP開發(fā)的高級領(lǐng)域呢?本系列開發(fā)教程將手把手帶您從入門進(jìn)入高級階段。本教程系列在linux下面開發(fā)(推薦使用cento...

    Berwin 評論0 收藏0
  • PHP擴(kuò)展開發(fā)(一) - 構(gòu)建一個(gè)PHP擴(kuò)展

    摘要:例如,這里要創(chuàng)建一個(gè)名為的擴(kuò)展現(xiàn)在,在目錄下出現(xiàn)了一個(gè)新建的擴(kuò)展目錄這時(shí),該擴(kuò)展是無法編譯通過的,需要先編輯文件才行。 首先需要確定系統(tǒng)中安裝了gcc編譯器,合適版本的bison等,下面是從源碼編譯安裝PHP需要執(zhí)行的基本命令: # cd php-src # ./buildconf # ./configure --enable-debug --enable-maintainer-zts...

    dongxiawu 評論0 收藏0
  • 如何基于 PHP-X 快速開發(fā)一個(gè) PHP 擴(kuò)展

    摘要:這里看到,表明你的擴(kuò)展已經(jīng)加載成功了,現(xiàn)在就可以調(diào)用這個(gè)擴(kuò)展函數(shù)了。是不是很簡單更多上面的例子還比較簡單,只是編寫了一個(gè)擴(kuò)展函數(shù)。 PHP-X是我在2017年年初創(chuàng)建的一個(gè)新項(xiàng)目。這個(gè)項(xiàng)目的目標(biāo)就是讓有一定工作經(jīng)驗(yàn)的PHP程序都能夠具備擴(kuò)展開發(fā)的能力。 0x00 初衷 從2012年開始編寫swoole,現(xiàn)在算來已經(jīng)有5個(gè)年頭了。我發(fā)現(xiàn)編寫一個(gè) PHP 擴(kuò)展這個(gè)工作非常艱難。PHP 程序...

    callmewhy 評論0 收藏0
  • 使用 Zephir 輕松構(gòu)建 PHP 擴(kuò)展

    摘要:簡介通過擴(kuò)展,我們可以在代碼中使用一些特定的方法大部分的擴(kuò)展都是用寫的。這個(gè)目錄與我們的擴(kuò)展同名。我們先來在擴(kuò)展中創(chuàng)建一個(gè)類,使用此類來渲染。接下來命令行執(zhí)行以下命令來編譯擴(kuò)展第一次運(yùn)行以上命令時(shí),會初始化一些東西。 showImg(https://segmentfault.com/img/remote/1460000018698586); 簡介: 通過 PHP 擴(kuò)展, 我們可以在 p...

    gaosboy 評論0 收藏0
  • 騰訊與閱文技術(shù)合作 微服務(wù)框架Tars再添PHP

    摘要:引言作為由騰訊公司開源的優(yōu)秀框架與服務(wù)部署運(yùn)維解決方案,被閱文集團(tuán)引入了實(shí)際實(shí)踐中,同時(shí)閱文集團(tuán)對在語言層面進(jìn)行了能力的補(bǔ)全,令如虎添翼。作為騰訊公司的優(yōu)秀框架與服務(wù)部署運(yùn)維解決方案,可以滿足上述的所有需求。 梁晨(Ted),任職閱文集團(tuán)技術(shù)中心,負(fù)責(zé)起點(diǎn)中文網(wǎng)的WEB后臺開發(fā)工作。曾負(fù)責(zé)騰訊上海企業(yè)產(chǎn)品部營銷QQWeb后臺開發(fā)、QQ公眾號Web后臺開發(fā),對大型網(wǎng)站技術(shù)架構(gòu),有自己的經(jīng)...

    yanwei 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<