php 擴充套件開發

2022-09-18 04:03:25 字數 1471 閱讀 2343

構建php擴充套件 包括一下4個步驟

生成框架-》實現函式-》構建-》執行函式

構建乙個擴充套件,需要的所有東西只有兩樣:php原始碼和php的可執行程式。因此,我們需要先準備好php原始碼和php執行環境。

生成框架

框架,即php擴充套件的框架,也稱骨架。php提供了生成框架的工具,十分易用。

生成框架的步驟如下:

cd php原始碼根目錄

cd ext

php ext_skel.php --ext  'goodbyeearth'

ext_skel是php提供的生成框架的工具,--ext 的值是擴充套件的名稱。該命令的結果是在ext目錄下建立了乙個goodbyeearth目錄,擴充套件框架的所有檔案,都在這個目錄下面。

實現函式

我們實現函式bye(),該函式沒有引數和返回值,只列印一行字串goodbye earth。

實現函式需要在2個檔案中新增**,檔案在goodbyeearth目錄下。

在php_goodbyeearth.h中的php_function(confirm_goodbyeearth_compiled);下一行新增:

php_function(bye);

在goodbyeearth.c中新增2段**:

zend_function_entry goodbyeearth_functions =

};在以上**段中新增:

zend_function_entry goodbyeearth_functions =

};在檔案末尾編寫函式的實現:

php_function(bye)

構建

構建是編譯擴充套件的過程,包括以下步驟:

cd goodbyeearth

修改構建配置檔案config.m4

將search_path的第3個路徑改為擴充套件所在的路徑,search_for的值是php_goodbyeearth.h

php環境目錄/bin/phpize

./configure --with-php-config= php環境目錄/bin/php-config --enable-goodbyeearth

make

make install

make會編譯出goodbyeearth.so到goodbyeearth/modules下,make install會將goodbyeearth.so拷貝到php環境的擴充套件路徑下,比如php環境目錄/ext下。

執行函式

在php.ini中新增extension=goodbyeearth.so,重啟php-fpm.

編寫php指令碼,比如test.php,內容如下:

<?php

echo bye();

執行php test.php,將輸出:

goodbye earth!

則擴充套件裡的函式bye()成功執行。

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函...