1. はじめに
PHP では C言語で記述された拡張モジュールを pecl
コマンドでインストールすることができます(参考:PHP: PECL インストール入門 – Manual)。
pecl install モジュール名
というコマンドでインストールを行うのですが、これを実行する前に確認しておくとよい項目を紹介します。
2. pecl install xxxx する前に確認すること
以下の2つのコマンドによって表示されるバージョン情報が一致しているかどうかを確認します。
$ php -v
$ php-config --version
php-config --version
の方が古い場合があるのですが、その場合は php-dev といった “dev” のついたパッケージをインストールします。
例えば、php -v
が “PHP 7.3.x” で php-config --version
が “PHP 7.2.x” であれば、php7.3-dev というパッケージをインストールします(これはUbuntu の場合です)。インストールするコマンドは以下です。
$ sudo apt install php7.3-dev
3. どのような問題が起きるか
以上のことを確認せずに pecl install xxxx
すると、PHP を実行する毎に以下の警告が表示されます。
警告メッセージの例
PHP Warning: PHP Startup: xxxxxx: Unable to initialize module
Module compiled with module API=20170718
PHP compiled with module API=20180731
PHP自体とモジュールのバージョンが異なっています。
このような警告が表示されたら、PHPのバージョンに合わせた php-dev パッケージをインストールすればよいのですが、それでも警告が出るようなら先程インストールしたモジュールを一旦アンインストールしてから再度インストールします。
$ sudo pecl uninstall モジュール名
$ sudo pecl install モジュール名