一www.cppcns.com、進入php原始碼包,找到ext資料夾
cd /owndata/software/php-5.4.13/ext
資料夾下放的都是php的相關擴充套件模組
二、生成自己的擴充套件資料夾和相關檔案
php支援開發者開發自己的擴充套件,提供了ext_skel骨架,用來構建擴充套件基本檔案
./ext_skel --extname=myext
執行完成後,會在ext目錄下生產乙個myext擴充套件目錄
三、編寫乙個hello worlwww.cppcns.comd簡單測試擴充套件
cd myext
1.編輯myext目錄下的config.m4檔案
dnl php_arg_with(myext, for myext support,
dnl make sure that the comment is aligned:
dnl [ --with-myext include myext support])
將上面這段改成
php_arg_with(myext, for myext support,
[ --with-myext include myext support])
2.編輯php_myext.**件
修改php_myext.h,看到php_function(confirm_myext_compiled);這裡就是擴充套件函式宣告部分,可以增加一
php_function(myext_helloworld);
3.編輯myext.c檔案在這個裡面增加一行php_fe(myext_helloworld, null)
const zend_function_entry myext_functions = ;
最後在檔案末尾加入myext_helloworld執行**
php_function(myext_heyagelolloworld)
php_printf("my first ext,hello world!\n");
retrun_true;
}四、編譯php擴充套件
在myext目錄下執行phpize
/usr/local/webserver/php/bin/phpize
安裝擴充套件
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make && make install
然後在php安裝的目錄下生產.so的檔案
/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/myext.so
複製myext.so檔案到php安裝的擴充套件目錄下
cp myext.so /usr/local/webserver/php/ext/
編輯php.ini檔案加入一行擴充套件路徑
extension=/usr/local/webserver/php/ext/myext.so
重啟php-fpm
service php restart
檢視php擴充套件是否安裝進去了
/usr/local/webserver/php/bin/php -m|grep myext
確認成功後測試myext列印helloworld
/usr/local/webserver/php/bin/php -r "myext_helloworld('test');"
或者建立demo.php
<?php echo myext_helloworld('test');
?>
/usr/local/webserver/php/bin/php demo.php
執行後輸出
my first ext,hello world!
自此擴充套件開發小demo就實現了
PHP擴充套件開發入門
寫乙個最簡單的將字串全部變成大寫的函式 function my toupper str echo my toupper demo 現在我們開發乙個php擴充套件,實現my toupper的功能。step1 php提供了乙個擴充套件框架生成器 ext skel,這個工具在php原始碼的ext目錄 我的...
PHP7擴充套件開發入門
我們可以在ext目錄下看到所有的php原生擴充套件,其中包括了熟悉的curl,json,mbstring,xml,sockets等擴充套件,還有很多沒有用過甚至沒有聽說過的擴充套件,不用在意這些,我們先開啟我們最熟悉的curl來看看,有config.m4配置檔案,有php curl.h,curl f...
php擴充套件開發
php擴充套件 pecl 跟php引擎一樣都是使用c語言開發。php核心開發組成員鳥哥laruence使用的是vim進行php開發。書籍 案例 php src ext pecl開發郵件組 盡量編寫一些phpt測試用例,php src tests下有很多參考.測試時用 enable debug編譯ph...