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語言的學習了