Linux 下編寫乙個 PHP 擴充套件

2022-08-26 12:00:15 字數 1975 閱讀 9661

假設需求

開發乙個叫做 helloword 的擴充套件。

擴充套件裡有乙個函式,helloword()。

echo helloword('tom');

//返回:hello world: tom

本地環境php版本:5.6.9

系統:linux centos release 6.5 (final)

最終效果

實現流程

第一步:

進入到本地的php目錄執行:

cd /root/soft/src/php-5.6.9

cd ext

./ext_skel --extname=helloword

cd helloword

vi config.m4

搜尋:dnl otherwise use enable 將下面修改成:

php_arg_enable(helloworld, whether to enable helloworld support,

[ --enable-helloworld enable helloworld support])

if test "$php_helloworld" != "no"; then

...

如圖:

第二步:

vi php_helloworld.h

搜尋:extern zend_module_entry 新增一行:

php_function(helloworld);

如圖:

第三步:

vi helloworld.c

搜尋:const zend_function_entry helloworld_functions 新增一行:

php_fe(helloworld, null)

如圖:

在 helloworld.c 底部新增乙個方法

php_function(helloworld)

len = spprintf(&strg, 0, "hello world: %s", arg);

return_stringl(strg, len, 0);

}

如圖:

第四步:

//編譯安裝

cd /root/soft/src/php-5.6.9/ext

/usr/local/php/bin/phpize #用phpize生成configure配置檔案

./configure --with-php-config=/usr/local/php/bin/php-config #配置

make #編譯

make install #安裝

第五步:

//修改php.ini

extension="helloworld.so" #名稱為安裝擴充套件的名稱

第六步:

重啟環境。

完成上面的步驟,簡單的 helloworld 擴充套件就ok了。

大家可以根據自己的需求,開發滿足自己的擴充套件。

比如,可以開發一些擴充套件類,擴充套件方法,等等。

Linux下編寫php擴充套件

linux下編寫php擴充套件 1 所需 phpize 如果一開始是使用原始碼編譯裡面就有 php原始碼 2 到原始碼目錄下ext目錄裡面,執行.ext skel extname myext 3 生成擴充套件框架後,需要進入裡面修改m4檔案,php arg enable myext,whether ...

在Linux下編寫php擴充套件

或者在學習中有什麼問題歡迎交流 2.進入原始碼目錄中的ext目錄中 3.執行.ext skel extname myext 這是擴充套件的名字 生成擴充套件框架 ps 如果ext skel無法執行,請檢視ext skel檔案是否有可執行許可權 4.編寫擴充套件函式 a 我們開啟myext.c檔案,裡...

如何編寫乙個PHP的C擴充套件

c是靜態編譯的,執行效率比php 高很多。同樣的運算 使用c來開發,效能會比php要提公升數百倍。io操作如curl,因為耗時主要在iowait上,c擴充套件沒有明顯優勢。另外c擴充套件是在程序啟動時載入的,php 只能操作request生命週期的資料,c擴充套件可操作的範圍更廣。ext skel是...