PHP擴展開發:[1]簡單的HelloWord

2020-12-15 百度經驗

最近摸索CentOS7.0系統的操作比較多,而php對應的擴展部署加載也用的比較多,但是一直都沒有想去開發一個屬於自己的擴展,剛好最近需要用到這個擴展開發,開發一些小功能,所以就開始著手寫一個比較簡單的HelloWord擴展來記錄下。

第一步: 查看伺服器上的PHP版本說明: 開發php擴展前提是伺服器上的apache和php都正常。

第二步: 下載php5.4.16源碼1. 下載php5.4.16,自己到php官網下載即可

2. 上傳到/home/jhonse目錄下

3. 解壓

第三步: 開發php擴展1. 進入解壓好的php文件夾下的ext目錄

2. 創建一個php擴展

3. 查看創建好的擴展jExt

4. 修改config.m4文件說明: dnl 注釋

5.  編輯擴展頭文件php_jExt.h

6. 在頭文件中添加HelloWorld方法聲明

7. 編輯jExt.c源文件

8. 在jExt.c文件中添加HelloWorld方法。

9. 使用phpize命令把config.m4文件的內容生成configure文件  

報錯,需要安裝php-devel

10. 生成.so擴展文件./configure --with-php-config=/usr/bin/php-configmake

第四步: 調用擴展調用開發出來的擴展其實跟調用json.so等等擴展是一樣。1. 修改php.ini文件或者在php.d/目錄下添加jExt.ini文件

2. 把生成出來的jExt.so複製到php對應的module目錄下。

3. 重啟httpd服務,並且查看是否已加載次擴展文件。通過phpinfo()來查看。

4. 調用此模塊中的HelloWorld方法

相關焦點

  • PHP的Sodium加密擴展函數了解
    PHP的Sodium加密擴展函數了解這是本次加密擴展系列的最後一篇文章,也是我們要學習了解的最後一個 PHP 加密擴展。Sodium 出現的目的也是為了代替 Mcrypt 這個原來的加密擴展。在 PHP7.2 之後,Mcrypt 已經被移除,在 PHP7.1 時就已經被標記為過時。
  • (基礎篇) PHP需要它—PHP擴展庫
    在Windows下加載擴展庫,是通過修改php.ini文件來完成的。用戶也可以在腳本中通過使用dl()函數來動態加載。PHP擴展庫的DLL文件都具有php_前綴。很多擴展庫都內置於Windows版本的PHP中,要加載這些擴展庫不需要額外的DLL文件和extension配置指令。Windows下的PHP擴展庫列表列出了需要或曾經需要額外DLL文件的擴展庫。
  • php異步高並發擴展swoole-1.6.10版發布 - OSCHINA - 中文開源技術...
    簡介: swoole是一個php版本的異步、高並發擴展,是國人被php官方pecl包收錄的力作之一。
  • 從零開始寫 PHP 擴展(一)
    對於每個 PHPer 來說,都有著內心的一種希望寫擴展的衝動了吧。然而,缺乏一個很好的切入點。Google 上搜 PHP 擴展開發,大部分都是複製品文章,甚至有些人連操作都沒有操作過就搬運在了自己的博客。不過也有幾篇好教程,但是都是 PHP 5 時代的產物,隱藏著非常多的坑。我會將我自己慢慢踩坑的過程記錄下來,也許這就成了其它人的「教程」了吧。
  • 在MAC版MAMP環境下為PHP7.x安裝redis擴展的過程
    之前有一位開發群裡的朋友因為項目需要,在 MacBook 上安裝了 MAMP 開發環境,來調試一個 PHP 的網站項目。MAMP & MAMP Pro軟體是一款很好的在MAC下面運行的網站集成環境軟體,其由Apache+MySQL+PHP+動態DNS配置構成,PHP的版本可以動態切換到最新版,功能強大,配置簡單,十分便於本地調試。
  • php框架開發:實現最簡單的MVC框架實例教程
    這篇文章主要介紹了php實現最簡單的MVC框架實例教程,講述了MVC框架的運行原理及簡單實現方法,具有不錯的參考借鑑價值,
  • PHP直播源碼,為什麼直播源碼開發要選擇PHP語言?優勢有這些
    它的語法吸取了C語言、Java和Perl的優點,免費、快捷、高效,主要適用於Web開發領域。  目前,全球5000萬網際網路網站60%以上都在使用PHP技術,AlexaTOP500中國網站排名中有394家使用PHP,國內80%以上動態網站使用PHP進行開發,在Web後端語言中PHP全球市場語言佔有率達到80%。
  • PHP中非常好玩的Calendar擴展學習
    PHP中非常好玩的Calendar擴展學習為什麼說這個 Calendar 擴展很好玩呢?因為你基本用不到它!這個擴展是一套關於日期曆法的擴展,但是對於我們來說,它沒有農曆的相關操作,所以對於我們中國人來說這個擴展並沒有什麼實際的作用。不過這並不妨礙我們去了解學習它。
  • 基於 Swoole 的協程 PHP 開發框架
    IMI 框架底層開發使用了強類型,易維護,性能更強。支持 Aop ,支持使用註解和配置文件注入,完全遵守 PSR-3、4、7、11、15、16 標準規範。框架的擴展性強,開發者可以根據實際需求,自行開發相關驅動進行擴展。不止於框架本身提供的功能和組件!
  • Jsonnet-PHP v1.2.0 發布, PHP 支持 Jsonnet 擴展
    Jsonnet-PHP v1.2.0發布了,JsonNet-PHP是Google Jsonnet對PHP的支持擴展,該版本使用最新版本至v0.9.5的LibJsonnet。
  • 手把手擼PHP擴展 0x03: 理解PHP生命周期的過程
    PHP生命周期有5個階段:1、模塊初始化階段2、請求初始化階段3、執行PHP腳本階段4、請求關閉階段5、模塊關閉階段OK,我們現在來測試一下這幾個函數。PHP_RINIT_FUNCTION(study){ php_printf("RINIT\n"); return SUCCESS;}PHP_RSHUTDOWN_FUNCTION(study){ php_printf("RSHUTDOWN\n"); return SUCCESS;}然後,在擴展的根目錄下面創建一個文件
  • PHP的Mhash擴展函數的學習
    PHP的Mhash擴展函數的學習這次我們要學習的又是一個 Hash 加密擴展。不過這個擴展 Mhash 已經集成在了 Hash 擴展中。同時也需要注意的是,這個擴展已經不推薦使用了,我們應該直接使用 Hash 擴展中的函數來進行 Hash 加密操作。所以,我們今天仍然是以學習為目的的進行了解。
  • PHP日誌擴展 SeasLog-1.4.2 發布,支持錯誤與異常
    SeasLog是一個輕量,高效,便捷,規範的PHP日誌擴展,精準的定位\精巧的設計,使它在PHP項目中逐步成為一個非常優秀的日誌工具. php內置error_log、syslog函數功能強大且性能極好,但由於各種缺陷(error_log無錯誤級別、無固定格式,syslog不分模塊、與系統日誌混合),靈活度降低了很多,不能滿足應用需求。 好消息是,有不少第三方的log類庫彌補了上述缺陷,如log4php、plog、Analog等(當然也有很多應用在項目中自己開發的log類)。
  • php5.3以上版本連接sqlserver資料庫方法 sqlsrv擴展安裝
    sqlserver2008及以上版本,微軟廢棄了對php自帶擴展的支持,php5.3以上版本默認不再支持原有的sqlserver連接方式,需要安裝微軟官方提供的驅動以及sqlsrv、pdo_sqlsrv擴展。
  • PHP的異步並行網絡擴展Swoole已發布1.7.5版本
    PHP的異步並行網絡擴展Swoole今天發布了最新的1.7.5版本。
  • PHP的Hash信息摘要擴展框架
    PHP的Hash信息摘要擴展框架今天我們主要學習的是 PHP 中一些 Hash 散列加密相關的擴展函數的使用,而不是 Hash 算法,這種加密其實也只是一種更複雜一些的密鑰算法,與 Hash 算法類似的是,我們輸入的一串字符串,就像一個 Hash 表一樣有其對應的 Hash 散列值,本質上和普通的數據結構中的 Hash 鍵值映射是一個道理,
  • 新手必須要懂的PHP學習路線以及10個PHP優化技巧
    -> 深入了解PHP引擎實現細節、擴展編寫、性能優化等 (1周)HTML+CSS HTML5+CSS3(2-3天)留言板或記事本,(增刪改查,數組函數資料庫函數)(7天)bbs或企業網站,(模板、分頁、權限)phpchina的高手PHP高手帶路--問題匯總解答以及PHP手冊(1個月)學習discuz學習外國的開源程序(zencert Joomla
  • C、C ++、Java、PHP、Python分別用來開發什麼
    企業級開發,普通應用軟體,遊戲後臺。C和C++C/C++理論上說可以做任何開發,只要有合適的硬體驅動和API,特點是效率高,基本上是編譯語言裡面效率最高的。除非你的系統中連C/C++編譯器都不具備。某些系統當中C++編譯器是不具備的,但是C一般都具備。
  • PHP 是最好的語言?關於 PHP 開發未來的 6 點建議
    開發者可以快速、高效地使用 PHP 編寫開發各類軟體。可以說,目前為止市面上仍然沒有出現比 PHP 更簡單易用的程式語言。然而,自 PHP 誕生到現在的 20 多年間,從 Web 時代興起到移動網際網路退潮,網際網路領域各種程式語言和技術層出不窮, Node.js 、 GO 、 Python 不斷地在挑戰 PHP 的地位。PHP 語言的局限也開始凸顯,PHP 語言未來在哪裡?
  • PHP的OpenSSL加密擴展學習(二):非對稱加密
    PHP的OpenSSL加密擴展學習(二):非對稱加密上篇文章,我們了解了關於對稱和非對稱加密的一些相關的理論知識,也學習了使用 OpenSSL 來進行對稱加密的操作。今天,我們就更進一步,學習 OpenSSL 中的非對稱加密是如何實現的。