摘要:前面兩篇介紹了,從此可以開發(fā)自己的擴(kuò)展了,可畢竟是通過(guò)轉(zhuǎn)換而來(lái),雖然很方便,可對(duì)于擴(kuò)展還是一知半解,也無(wú)法判斷其好壞,所以還是要了解下用原生的方法是怎么開發(fā)一個(gè)擴(kuò)展的。這樣我們就創(chuàng)建了一個(gè)非常簡(jiǎn)單的擴(kuò)展,雖是很簡(jiǎn)單的擴(kuò)展,可還是比復(fù)雜很多。
前面兩篇介紹了 Zephir ,從此可以開發(fā)自己的擴(kuò)展了,可畢竟是通過(guò)轉(zhuǎn)換而來(lái),雖然很方便,可對(duì)于擴(kuò)展還是一知半解,也無(wú)法判斷其好壞,所以還是要了解下用原生的方法是怎么開發(fā)一個(gè) PHP 擴(kuò)展的。
本文以 php-7.2.15 為例
創(chuàng)建擴(kuò)展骨架
# 源碼路徑 cd /usr/local/src/php-7.2.15/ext ./ext_skel --extname=twinkle_log
提示如下
提示已創(chuàng)建好基礎(chǔ)文件,如果想使用這個(gè)新擴(kuò)展,需要噼里啪啦這么些布驟,先記著就好。
修改config.m4
cd twinkle_log vi config.m4
這兩塊注釋選一個(gè)先打開,具體含義后面文章再說(shuō)明,我們選下面的
創(chuàng)建自己的方法
vi twinkle_log.c
聲明該方法
注意大小寫敏感
編譯安裝
/usr/local/php72/bin/phpize ./configure --with-php-config=/usr/local/php72/bin/php-config make make install
填加擴(kuò)展
vi /usr/local/php72/lib/php.ini # 填加擴(kuò)展 extension=twinkle_log
測(cè)試一下
擴(kuò)展安裝成功
執(zhí)行腳本
php -f test.php執(zhí)行成功。
這樣我們就創(chuàng)建了一個(gè)非常簡(jiǎn)單的擴(kuò)展,雖是很簡(jiǎn)單的擴(kuò)展,可還是比 Zephir 復(fù)雜很多。
當(dāng)然他啥用也沒(méi)有,沒(méi)有涉汲到內(nèi)存管理,沒(méi)有使用指針,做了這一些操作,也不知道是啥意思,帶著疑問(wèn),我們慢慢深入研究。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30951.html
摘要:下載源代碼要開發(fā)擴(kuò)展,需要先下載的源代碼,一方面是因?yàn)槲覀兊臄U(kuò)展一般會(huì)用到自身定義的函數(shù)和宏,另一方面我們可以利用官方提供的工具減少工作量。重點(diǎn)關(guān)注,,即可,最簡(jiǎn)單的場(chǎng)景下這三個(gè)文件就是一個(gè)擴(kuò)展的全部組成部分了。 下載PHP源代碼 要開發(fā)PHP擴(kuò)展,需要先下載PHP的源代碼,一方面是因?yàn)槲覀兊臄U(kuò)展一般會(huì)用到PHP自身定義的函數(shù)和宏,另一方面我們可以利用官方提供的工具減少工作量。我下載了...
摘要:四使用語(yǔ)言開發(fā)是我重點(diǎn)推薦的擴(kuò)展開發(fā)框架,簡(jiǎn)明易懂,功能強(qiáng)大,開發(fā)效率高,代碼易維護(hù),執(zhí)行速度快。優(yōu)點(diǎn)三支持,的擴(kuò)展開發(fā)有兩套擴(kuò)展開發(fā)框架,分別支持,,雖然框架代碼有兩個(gè),但是接口卻是一樣的。 PHP擴(kuò)展是高級(jí)PHP程序員必須了解的技能之一,對(duì)于一個(gè)初入門的PHP擴(kuò)展開發(fā)者,怎么才能開發(fā)一個(gè)成熟的擴(kuò)展,進(jìn)入PHP開發(fā)的高級(jí)領(lǐng)域呢?本系列開發(fā)教程將手把手帶您從入門進(jìn)入高級(jí)階段。本教程系列...
摘要:二下載第一個(gè)擴(kuò)展第一個(gè)擴(kuò)展的源碼已經(jīng)在上準(zhǔn)備好了,直接用命令克隆,或者手工下載都可以。第四步確認(rèn)擴(kuò)展已經(jīng)安裝成功使用命令可以查看目前已經(jīng)安裝的所有擴(kuò)展。 PHP擴(kuò)展是高級(jí)PHP程序員必須了解的技能之一,對(duì)于一個(gè)初入門的PHP擴(kuò)展開發(fā)者,怎么才能開發(fā)一個(gè)成熟的擴(kuò)展,進(jìn)入PHP開發(fā)的高級(jí)領(lǐng)域呢?本系列開發(fā)教程將手把手帶您從入門進(jìn)入高級(jí)階段。本教程系列在linux下面開發(fā)(推薦使用cento...
摘要:起步最近在看擴(kuò)展開發(fā)中文教程的版。擴(kuò)展是什么用過(guò)的人一定也用過(guò)擴(kuò)展。本身帶有個(gè)擴(kuò)展,擴(kuò)展是對(duì)語(yǔ)言功能的一個(gè)延伸,的核心由兩部分組成最底層的引擎和內(nèi)核。額外不使用工具寫擴(kuò)展一個(gè)擴(kuò)展為避免與寫過(guò)的沖突,采用作為名字,至少包含個(gè)文件。 起步 最近在看 《PHP擴(kuò)展開發(fā)中文教程》 的pdf版。PHP的解釋器是用C語(yǔ)言寫的,所以PHP擴(kuò)展自然也是用C 語(yǔ)言了。 擴(kuò)展是什么 用過(guò)php的人一定也用...
摘要:概述是一個(gè)開源的用于簡(jiǎn)化擴(kuò)展的創(chuàng)建和維護(hù)的語(yǔ)言。它使得不擅長(zhǎng)的開發(fā)人員也能寫出擴(kuò)展。是縮寫,讀音為。然后我們?cè)诶镎{(diào)用方法正常的話會(huì)輸出。至此我們也完成了我們的第一個(gè)擴(kuò)展。 概述 Zephir是一個(gè)開源的用于簡(jiǎn)化PHP擴(kuò)展的創(chuàng)建和維護(hù)的語(yǔ)言。它使得不擅長(zhǎng)C/C++的PHP開發(fā)人員也能寫出PHP擴(kuò)展。Zephir是Zend Engine/PHP/Intermediate縮寫,讀音為zep...
閱讀 2154·2021-10-12 10:11
閱讀 851·2021-10-09 09:41
閱讀 3773·2021-09-09 11:37
閱讀 1950·2021-09-08 10:41
閱讀 2647·2019-08-30 12:58
閱讀 2376·2019-08-30 10:58
閱讀 1286·2019-08-26 13:40
閱讀 4126·2019-08-26 13:36