💨

StaticMockのためにUbuntu20.04にPECL::Runkit7をインストール

2021/04/12に公開

一時代を築いたあのPECLが今蘇る
------------------- ↓ 前書はここから ↓-------------------

phpizeってなんだっけ?

遠い過去の記憶を掘り起こして、
あーそんなのあったわと。

phpのコンパイルなんてもうやったことない人がほとんどだと思う。
( ̄ー ̄) あの頃はなぁ~
なんて今は遠き理想郷を語りたいわけではなく。

最新UbuntuにStaticMockを入れたいのでRunkit7を入れてくださいとのこと。
Mockeryというモックモジュールより強力なものだそうで、
PECL::Runkit7がいるらしい。

('ω') なんだっけ?それ?

PECLのページなんて久しぶりに見たが、
まだ生きていたのか。
しかも最終更新が2020/10/08と今でもメンテしてるようだ。
(すげー)

さて、ローカルのUbuntuにはPECLはなく、
phpizeとかも入っていない。

ちょっとやってみるか。

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪

------------------- ↓ 本題はここから ↓-------------------

前提

PHPはコマンドラインで動いているものとする

sudo apt install php-cli

PHP開発ツールをインストール

ここにたどり着ければほぼ終わり
上記PHPのパッケージの開発ツールであるphp-devをインストールする
あと、peclコマンドも一緒に入れておく

sudo apt install php-dev php-pear
phpize -v
Configuring for:
PHP Api Version:         20190902
Zend Module Api No:      20190902
Zend Extension Api No:   320190902

PECL::Runkit7をインストール

ここまでくればPeclコマンドは優秀なので勝手にやってくれる。

sudo pecl install runkit7-alpha

php.iniを変更

aptでPHPを入れた場合は/etc/php/x.x/mods-availvableで管理するが、
php.iniに直接でもいい。

以下のコードを追記

extension=runkit7.so

実行確認

phpinfoを実行すればrunkitに関する情報が載っているはず

php -i | grep -i runkit
runkit7
runkit7 support => enabled
runkit.internal_override => Off => Off
runkit.superglobal => no value => no value
PWD => /home/dozo/tmp/runkit7-4.0.0a2
$_SERVER['PWD'] => /home/dozo/tmp/runkit7-4.0.0a2

Discussion