PHP擴充套件開發就是一個自己的PHP擴充套件

標梵互動發表於2020-11-05

通常需要一些C基礎的PHP擴充套件開發。但這篇文章介紹了擴充套件開發的另一種方法。用Zephir開發擴充套件PHP

1.基礎準備

1.1環境和軟體

以CentOS系統為例,執行:

yum install gcc make re2c autoconf automake

沒有PHP的同學需要裝一下PHP,本篇不再介紹

1.2 安裝解析器

拉取程式碼並編譯成擴充套件

mkdir /phptemp

cd /phptemp

git clone git://github.com/phalcon/php-zephir-parser.git

cd php-zephir-parser

//這裡替換成你的PHP所在目錄

/usr/local/php/bin/phpize

//這裡替換成你的PHP所在目錄

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

make

make install

//這裡替換成你的PHP所在目錄

/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/

vim php.ini新增:

extension="zephir_parser.so"

1.3下載編譯軟體

cd /phptemp

wget

//重新命名為可執行檔案,並新增到環境變數中(也可以挪到已新增到環境變數中的目錄下)

mv zephir.phar zephir

新增成功時,在任意目錄執行zephir,都可以看到如下效果。

 _____              __    _

/__  /  ___  ____  / /_  (_)____

  / /  / _ \/ __ \/ __ \/ / ___/

 / /__/  __/ /_/ / / / / / /

/____/\___/ .___/_/ /_/_/_/

         /_/

2正式開始

2.1初始化擴充套件目錄

zephir init Huai

cd huai/huai

2.2編輯自己的第一個擴充套件檔案

vim common.zep
namespace Huai;
class Common
{
    public static function say()
    {
        echo "hello world!";
    }
}

wq儲存退出

2.3構建包

cd ..

處於和config.json平級的目錄,執行

zephir build //注意,用root許可權執行

2.4將生成的擴充套件新增到php.ini目錄中

生成的檔案在config.json平級的目錄ext/modules裡

將so檔案挪到自己常用的so目錄。

這裡將目錄替換成自己的php擴充套件所在目錄

mv huai.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/

vim php.ini //增加自己的擴充套件

extension="huai.so"

2.5 試著執行一下

wq儲存並重啟PHP-FPM

php -m 檢視擴充套件是否已載入。

echo Huai\Common::say();

輸出:hello world!

是不是很簡單,Enojoy it!

本文來源:  

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69987244/viewspace-2732319/,如需轉載,請註明出處,否則將追究法律責任。

相關文章