開發乙個小的php擴充套件

2022-03-23 14:48:47 字數 1855 閱讀 6064

今天試了一下在php新增擴充套件,看了挺多資料,細節上不一致,其他大體是差不多的。

我們來開發乙個叫ccvita_string的函式,他的主要作用是返回一段字元,對應的php**可能如此:

function ccvita_string($str)

即生成鏈結

第一步,生成**

進入php源**中自帶的工具ext_skel,利用其建立檔案。

首先我們建立乙個檔案ccvita.skel,它的內容為

string ccvita_string(string str)

就是告訴ext_skel這個東西,我們要做的擴充套件裡面有個函式叫ccvita_string。然後執行

cd sofe/hongxin/src/php-5.3.27/ext/./ext_skel --extname=ccvita --proto=ccvita.skel

cd ccvita/

這時候,ccvita這個擴充套件的**框架就已經出來了。

第二步,修改配置

vim config.m4

將10、11、12三行最前面的dnl刪除掉,就是將

dnl php_arg_with(ccvita, for

ccvita support,

dnl make sure that the comment

isaligned:

dnl [ --with-ccvita include ccvita support])

修改為

php_arg_with(ccvita, for

ccvita support,

make sure that the comment

isaligned:

[ --with-ccvita include ccvita support])

第三步,實現功能

vim ccvita.c

找到將ccvita_string這個函式修改為

php_function(ccvita_string)

第四步,編譯擴充套件

儲存後,開始編譯

/usr/local/php/bin/phpize    //務必是當前執行的phpize,避免將其他版本php執行

./configure --with-php-config=/usr/local/php/bin/php-config //這裡需要帶上當前執行的php-config路徑

make && make install

第五步,新增擴充套件

這時候,一切順利的話,該擴充套件已經在modules/ccvita.so這個位置了。下面就是將這個擴充套件加入到php中去,讓我們php程式可以呼叫到。

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服務

cp ccvita.php /data/www/wwwroot/default/

接下來就可以訪問ccvita.php這個檔案,測試擴充套件了

直接使用

ccvita_string($str)

即可

快速開發乙個PHP擴充套件

快速開發乙個php擴充套件 本文通過非常快速的方式講解了如何製作乙個php 5.2 環境的擴充套件 php extension 希望能夠在 的方式下讓想快速學習的朋友了解一下製作過程。步驟一 生成擴充套件框架 cd root soft php php 5.2.6 ext ext skel extna...

快速開發乙個PHP擴充套件

快速開發乙個php擴充套件 本文通過非常快速的方式講解了如何製作乙個php 5.2 環境的擴充套件 php extension 希望能夠在 的方式下讓想快速學習的朋友了解一下製作過程。步驟一 生成擴充套件框架 cd root soft php php 5.2.6 ext ext skel extna...

PHP 拓展 開發,PHP擴充套件開發 第乙個擴充套件

我們先假設業務場景,是需要有這麼乙個擴充套件,提供乙個叫ccvita string的函式,他的主要作用是返回一段字元。這個業務場景實在太假,大家就這麼看看吧 對應的php 可能是這樣 function ccvita string str result link return result 第一步,生...