niwacchi.log

niwacchiのログ。

phpredisを使う

以下を参考にセットアップしてみた。

環境

pickleをインストール(pickle — Homebrew Formulae

brew install pickle

phpredisをインストール

pickle install redis

実際に使えるのか試す。なお、redis-serverはインストール、稼働済み。

用意したコード(PhpRedisTest.php

<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

// set value
$redis->set('keyHogeHoge', 'hogehoge');

// get value
$value = $redis->get('keyHogeHoge');
echo $value, PHP_EOL;

実行

php PhpRedisTest.php

うまくいかない。

PHP Fatal error:  Uncaught Error: Class "Redis" not found in /Users/niwacchi/work/PhpRedisTest.php:2
Stack trace:
#0 {main}
  thrown in /Users/niwacchi/work/PhpRedisTest.php on line 2

Fatal error: Uncaught Error: Class "Redis" not found in /Users/niwacchi/work/PhpRedisTest.php:2
Stack trace:
#0 {main}
  thrown in /Users/niwacchi/work/PhpRedisTest.php on line 2

php -m でextensionを確認するが、redis は無い。

php -i で php.ini の場所を確認する。

php.ini を編集する。

extension_dirがredis.soのインストール場所になっていることを確認して、以下を追加する。

extension=redis

再び、用意したコードを実行。

>>> php PhpRedisTest.php
hogehoge
>>>

正常に動いた。

redisの中も確認。

127.0.0.1:6379> get keyHogeHoge
"hogehoge"
127.0.0.1:6379>