用ext_skel為php開發擴充|待更

來源:互聯網
上載者:User
ext_skel是php源碼包裡內建的一個開發產生工具

使用它可以用C++編譯出可用的.so庫,增加函數以擴充php的功能

首先從官方下載源碼

將其用tar -zxvf解壓

首先我們需要建立一個xxx.skel檔案,裡面是我們要定義的擴充函數的聲明

比如 `string bingo(string str)

然後進入到php源碼包的ext目錄下

使用命令

./ext_skel --extname=bingo --proto=/home/bingo.skel

來產生一個架構套件然後修改config.m4檔案

注釋掉PHP_ARG_WITH或PHP_ARG_ENABLE(根據實際情況二選一,第一種是指擴充需第三方庫支援)所以一般我們保留第二種

修改phpext.c檔案 注釋掉預設的函數,並編寫我們的bingo函數

用phpize建立配置,在phpext下運行:

/opt/lampp/bin/phpize./configure --with-php-config=/opt/lampp/bin/php-config

並進行安裝

makemake testmake install clean

#接下來的步驟由於kali各種奇奇怪怪的原因不能進行,下次再看咯

在/xxx/php/下對應的檔案夾內將多出一個叫binso.so的檔案

找到php.ini或extensions.ini,在其中加入一行

extension=bingo.so
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.