前面兩篇介紹了 zephir ,從此可以開發自己的擴充套件了,可畢竟是通過轉換而來,雖然很方便,可對於擴充套件還是一知半解,也無法判斷其好壞,所以還是要了解下用原生的方法是怎麼開發乙個 php 擴充套件的。
本文以 php-7.2.15 為例
建立擴充套件骨架
# 原始碼路徑
cd /usr/local/src/php-7.2.15/ext
./ext_skel --extname=twinkle_log
提示如下
提示已建立好基礎檔案,如果想使用這個新擴充套件,需要噼里啪啦這麼些布驟,先記著就好。
修改config.m4
這兩塊注釋選乙個先開啟,具體含義後面文章再說明,我們選下面的
建立自己的方法
宣告該方法
注意大小寫敏感
編譯安裝
/usr/local/php72/bin/phpize
./configure --with-php-config=/usr/local/php72/bin/php-config
make
make install
填加擴充套件
vi /usr/local/php72/lib/php.ini
# 填加擴充套件 extension=twinkle_log
測試一下擴充套件安裝成功
<?php
// test.php
hello_world();
執行指令碼
php -f test.php
執行成功。
這樣我們就建立了乙個非常簡單的擴充套件,雖是很簡單的擴充套件,可還是比 zephir 複雜很多。
當然他啥用也沒有,沒有涉汲到記憶體管理,沒有使用指標,做了這一些操作,也不知道是啥意思,帶著疑問,我們慢慢深入研究。
php擴充套件開發
php擴充套件 pecl 跟php引擎一樣都是使用c語言開發。php核心開發組成員鳥哥laruence使用的是vim進行php開發。書籍 案例 php src ext pecl開發郵件組 盡量編寫一些phpt測試用例,php src tests下有很多參考.測試時用 enable debug編譯ph...
php擴充套件開發
二 php擴充套件開發 擴充套件開發流程 生成開發骨架 修改config.m4 編碼 編譯擴充套件為so 修改php.ini 1.生成開發骨架 1.1 進入擴充套件目錄 cd php 7.0.1 ext 1.2 用.ext skel生成骨架 ext skel extname module 1.3 修...
PHP擴充套件開發
php function say hello len spprintf strg,0,hello s n arg return stringl strg,len,0 1.引數接收 這裡接收函式的引數需要通過zend parse parameter函式解析,第乙個引數指定使用者傳入say hello函...