PHP擴充套件開發入門

2021-08-21 21:40:40 字數 1455 閱讀 4347

寫乙個最簡單的將字串全部變成大寫的函式:

<?php 

function my_toupper($str)

echo my_toupper('demo');

?>

現在我們開發乙個php擴充套件,實現my_toupper的功能。

step1:

php提供了乙個擴充套件框架生成器:ext_skel,這個工具在php原始碼的ext目錄(我的是/usr/local/src/php-5.6.17/ext/)下。首先我們在php原始碼的ext目錄下建立乙個orlion.skel檔案,檔案內容為:

string my_toupper(string str)
這個檔案就是要告訴ext_skel我們的擴充套件裡有my_toupper這個函式,接下來執行:

這一步會在當前目錄下建立乙個資料夾orlion。目錄結構這樣的:

這時候這個擴充套件的框架就搭建好了。

step2:

修改orlion目錄下的config.m4,將這個檔案第10、11、12行的dnl去掉:

就是將

改為:

step3:

接下來就是要實現我們的功能了,開啟orlion.c,然後找到函式php_function(my_toupper),修改為如下:

然後編譯擴充套件,依次執行:

$ /usr/local/php/bin/phpize

$ ./configure --with-php-config=/usr/local/php/bin/php-config

$ make

step4:

將擴充套件新增到php中,首先將我們擴充套件中的orlion/mudules/orlion.so拷貝到php的擴充套件目錄:

然後修改配置php.ini在檔案最後邊加上"extension=orlion.so"然後重啟php-fpm。

step5:

寫個test.php檔案測試一下:

<?php 

var_dump(my_toupper('abc'));

?>

執行一下可以看到輸出了abc,success!

PHP7擴充套件開發入門

我們可以在ext目錄下看到所有的php原生擴充套件,其中包括了熟悉的curl,json,mbstring,xml,sockets等擴充套件,還有很多沒有用過甚至沒有聽說過的擴充套件,不用在意這些,我們先開啟我們最熟悉的curl來看看,有config.m4配置檔案,有php curl.h,curl f...

php擴充套件開發入門demo示例

一www.cppcns.com 進入php原始碼包,找到ext資料夾 cd owndata software php 5.4.13 ext 資料夾下放的都是php的相關擴充套件模組 二 生成自己的擴充套件資料夾和相關檔案 php支援開發者開發自己的擴充套件,提供了ext skel骨架,用來構建擴充套...

php擴充套件開發

php擴充套件 pecl 跟php引擎一樣都是使用c語言開發。php核心開發組成員鳥哥laruence使用的是vim進行php開發。書籍 案例 php src ext pecl開發郵件組 盡量編寫一些phpt測試用例,php src tests下有很多參考.測試時用 enable debug編譯ph...