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の部分)が表示され、確かに保存されていることがわかります。