苦学生の道楽

面白そうなものを作る!

アプリや電子工作など、「楽しそう!」と思ったものに片っ端から触れていく人の活動記録です

CentOS7+php7でphpredisを使う

PHP7でRedisを使おうとしてハマった


CentOS7+nginx+PHP 7.2.15 (php-fpm)の環境でphpからredisの使おうとして、ハマったので書く

Redisのインストール


$ sudo yum install epel-release
$ sudo yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

リポジトリを追加して

$ sudo yum install redis --enablerepo=remi

で無事Redisをインストールした後

$ sudo systemctl enable redis //systemdへサービス登録
$ sudo systemctl start redis  //Redisを起動

これでRedisの準備はOKです。

redis-cli ping

と打って、「PONG」と返ってきたらRedisが生きてる証拠です。 次に「phpredis」をインストールします。

phpredisのインストール


ここでハマりました。下のようにEPELリポジトリからインストールするとPHP7に対応してないバージョンがインストールされるようです。

yum -y install php-pecl-redis --enablerepo=epel  //これは使わない

そこで、githubから最新版のphpredisを直接gitでcloneし、makeします。

$ cd /usr/local/src
$ sudo git clone https://github.com/phpredis/phpredis.git 
$ cd phpredis
$ sudo cd phpize
$ sudo ./configure
$ sudo make && sudo make install

その後、/etc/php.iniを開いて一番下に

[redis]
extension=redis.so

を追加し

sudo service php-fpm restart 

php-fpmを再起動したら準備完了!

phpredisでredisに値を書き込んでみる


テストとしてこのようなプログラムを実行すると、

りんご

と出力されるはずです。 また、$redis-cliと入力した後keys *というコマンドを入力すると

$redis-cli
127.0.0.1> keys *
1) "orange"
2) "banana"
3) "apple"

このようにredisの中身(keyの部分)が表示され、確かに保存されていることがわかります。