PHP

pecl install xxxx する際は、php -v と php-config –version が一致しているか確認してから行う

投稿日:2019年8月23日 更新日:

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 モジュール名

📂-PHP

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

PHP

PHPって何ができるの?

「PHPって何ができるか?」を知るために、最小限の PHP を使った Webページが Webブラウザにどんなデータを返すのか? を見ていきます。 スポンサードリンク 目次1. この記事が前提としている …

PHP

PHP 7.3.0 新機能

目次はじめにFlexible Heredoc and Nowdoc SyntaxPCRE2 MigrationMultiple MBString Improvements はじめに PHP 7.3.0 …

PHP

Ubuntu で 複数のバージョンの PHP を使う手順

目次1. はじめに2. 前提とする環境 3. PHP 7.2 を導入する手順手順1:リポジトリを追加するツールをインストール手順2:リポジトリを追加手順3:PHP 7.2 をインストール4. PHP …

PHP

PHP: ob_start() 関数によるバッファリングの動作

PHP の ob_start() 関数によるバッファリングの動作について説明します。

PHP

Composer を使って PSR-4 オートロードしている場合、composer.json は必要なくなる

PHP を使った開発でよく使う Composer に関するお話しです。 例えば、composer.json に以下のように記述して開発を行ったとします。 { … “autoload”: { “ps …