これは何?
- これはPhpRedisをインストールする際に悪戦苦闘した記録になります。
環境
- AWSのEC2サーバーを使用
- Amazon Linux2
- PHPのバージョン→7.4.6
- Redisのバージョン→6.3.0
- PHPやRedisはインストール済みです。
やってみた
PhpRedisがあるかを確認
- php74の部分はお使いのものに合わせてください
yum list | grep php74 | grep redis
なんだかいい感じにありそうですね。ですが、インストールしたいのはPhpRedisです。少し名前が違うのが気になりますね。
いったん内容を確認します。
php74-php-pecl-redis5.x86_64とは
yum info php74-php-pecl-redis5.x86_64
結果に示されるリンクに飛んでみます。
さらにHomepageに飛んでみましょう。
なんとPhpRedisのGitHubに行くんです。つまり、yumリポジトリにあるphp74-php-pecl-redis5.x86_64はPhpRedisと同一のものになります。
では、PhpRedisをインストールしていきましょう。
ソースビルドする方法もありますが、せっかくパッケージインストールできるようになっているんです。使わない手はないですねw
yum insatall php74-php-pecl-redis5.x86_64
エラーです。php74-php-pecl-redis5.x86_64を入れるためにパッケージ:liblzfが足りないみたいです。
liblzf
liblzfのホームページをみてみます。liblzfはデータ圧縮に関するライブラリのようです。
liblzfのインストール方法を検索してもなかなかヒットしません。yumのリストを見てもそれらしきものは見当たりませんでした。
そこで、こちらのサイトの以下の画像部分を参考にしました。
画像ではyumではなくrmpを使う方法を紹介されています。そしてどうもepelをインストールしてあることがliblzfのインストールの前提になっているようです。
私の環境にはすでにepelを入れてあります。必要な方はepelのインストールを行いましょう。epelの説明はここでは割愛します。
liblzfをインストールします。
yum install liblzf --enablerepo=epel
PhpRedisのインストール
liblzfのインストールが完了したら、再度PhpRedisのインストールを行います。
yum insatall php74-php-pecl-redis5.x86_64 --enablerepo=remi
インストール確認
yum list installed | grep liblzf
yum list installed | grep redis
まとめ
- PhpRedisはパッケージでのインストールが可能です。
- ただし、種々のパッケージ依存問題がありますので、各々の環境に不足しているパッケージのインストールが都度必要になります。私の場合は、liblzfというものでした。
- liblzfのインストール
- yumリポジトリではなく、epelにあるものだ、というのが今回の落とし穴でした。