有兩個理由需要自己寫PHP擴充。第一個理由是:PHP需要支持一項她還未支持的技術。這通常包括包裹一些現成的C函數庫,以便提供PHP介面。
例如,如果一個叫FooBase的資料庫已推出市場,你需要建立一個PHP擴充功能來幫助你從PHP呼叫FooBase的C函式庫。這個工作可能只由一個人完成,然後被整個PHP社群分享(如果你願意的話)。
第二個不是很普遍的理由是:你需要從效能或功能的原因來考慮來寫一些商業邏輯。
下載php原始碼包: (推薦學習:PHP影片教學)
wget http://tw1. php.net/distributions/php-7.1.9.tar.gz
解壓縮原始碼包, Zend目錄裡麵包含了PHP的Zend Engine原始碼,有些函數和巨集的定義我們需要在這裡面簡單地看一下。
ext目錄包含了PHP原生的擴展,以及我們開發自己的擴充時可以利用的工具,Linux下使用ext_skel,Windows下使用ext_skel_win32.php
#使用./ext_skel - -help
./ext_skel --extname=module_name
就可以在ext目錄下產生自己的擴展
config.m4設定檔
開發PHP擴展,在寫C程式碼之前,要先設定一下這裡。我們打開可以看到詳細的註解說明,dnl是註解語法。
如果你的擴充功能用到了外部依賴,就配置–with-hello選項,否則配置–enable-hello選項,刪除這下面3行的del註釋
PHP_ARG_ENABLE(hello, whether to enable hello support, Make sure that the comment is aligned: [ –enable-hello Enable hello support])
PHP_ARG_WITH和PHP_ARG_ENABLE這兩個巨集用來設定configure選項,一個設定需要外部依賴的,另一個設定不需要外部依賴的
設定好的內容,後面執行configure –help時可以看到。
以上是有必要php擴展開發嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!