Hatena::ブログ(Diary)

it-boyの日記

2013-11-11

phpredisのインストール

| 23:59 |

ここからとってくる。zipで圧縮されてるのをとってきてので解凍して、その後はディレクトリに移動して以下を実行。phpは5.3を使用。

phpize
./configure
make
sudo make install

エラーが出ずに終了したらphp.iniを編集する。

/etc/php5/apache2/php.ini

extensionの項目をさがして以下を書き込む。

extension=redis.so

apache再起動してphpinfo()で確認する。redisの項目が追加されていればOK。

追記:
phpを5.3から5.5にしたらphpredisが動かなくなった。phpinfo()を見たらredisの項目が消えてる。apacheのログを見たら

PHP Warning:  PHP Startup: redis: Unable to initialize module\nModule compiled with module API=20090626\nPHP    compiled with module API=20121212\nThese options need to match\n in Unknown on line 0

と出てて、/usr/lib/php5/20090626/の中に前のredis.soが残ったままになっていた。なのでそれを消した。これで直るかと思ったけど直らない。php5.3以上ではphp拡張は/etc/php5/mods-availableの中にファイルを置いて使うみたいだけど、どうやらそれが抜けてるっぽい。5.3のときはなかったよね?mods-availableの中に

extension=redis.so

と書いたredis.iniというのを作成。その後に

sudo php5enmod redis

とすると/etc/php5/conf.d/からmods-available内のファイルにシンボリックリンク貼ってくれるらしいapache再起動してphpinfo()を見ると/etc/php5/apache2/conf.d/20-redis.iniが追加されてる。これで直ったかと思ったけどまだダメ。phpredisのインストールの所に.

You can generate a debian package for PHP5, accessible from Apache 2 by running ./mkdeb-apache2.sh

と書いてあるのを見て、もしかしてこれ?と思ってやってみた(php5.3のときはこれをしなくても使えたのでスルーしてた)。いろいろチェックしてくれたみたいで、最後にmake installとするとインストール完了。apache再起動するとphpredisが使えるようになった。

リンク元