1. 程式人生 > >linux c 開發php7擴充套件

linux c 開發php7擴充套件

記錄一下php7擴充套件開發的步驟

先做準備工作

1:在php.net下載原始碼

2:安裝php7

安裝過程看以前文章

副檔名稱為gradytest,下面開始操作

進入ext目錄,執行

./ext_skel --extname=gradytest


生成gradytest擴充套件目錄


修改config.m4內容

把下圖中的dnl註釋去掉,

注:關於PHP_ARG_WITH和PHP_ARG_ENABLE的區別,config.m4裡面已經有說明,看是否依賴第三方的庫,咱們只是做測試使用,不依賴第三方庫,就選擇了PHP_ARG_ENABLE,去掉註釋即可


:wq儲存退出

繼續執行

/usr/local/php7/bin/phpize

 

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


make && make install


ll /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/  


php擴充套件已經生成了

編輯php.ini,然後php -m檢視



然後用php指令碼執行一下

vim gradytest.php


 php gradytest.php


這說明擴充套件ok了,confirm_gradytest_compiled方法是ext_skel生成的預設方法,可以檢測是否成功

檢視gradytest.c可看到confirm_gradytest_compiled是預設方法,已經註冊

 cat gradytest.c 



注意,下面咱們按照confirm_gradytest_compiled寫自己的方法gradytest

vim gradytest.c

編輯gradytest.c新增gradytest方法



接下來重新編譯,安裝,步驟如上面,不多說



自己的第一個擴充套件完成,其他更有意思的程式開發,需要深入php核心和linux下c語言的學習了