CentOS6.5にremiのPHP5.5をインストールして、memcachedでセッションを共有しようとしてハマったメモです。
現象
memcachedにセッションが保存されない。ヽ(`Д´#)ノ ムキー!!
入れたもの
php-pecl-memcached(remi-php55)
php(remi-php55)
httpd(base)
memcached(remi)
設定(失敗)
/etc/php.ini
のSession
セクションのsession.save_handler
にmemcached
を、session.save_path
にmemcached.example.com:11211
を設定
おかしーな...
設定2(失敗)
/etc/php.d/z-memcached.ini
なんてファイルがある!ということで、こちらも同じく設定
あれー...?
設定3(成功)
/etc/php.d/z-memcached.ini
を読んでいたら「mod_phpをつかっているなら/etc/httpd/conf.d/php.conf
にsave_handler
とsave_path
を定義しなさいよねっ!」って書いてあった。Oh...
というわけで、/etc/httpd/conf.d/php.conf
に設定をしたら成功でした。
あと、php_value session.save_path
の値をtcp://
で始めたら「セッションが開始できなかったよ」ってエラーになったので、hostaddress:port
の書式にした。
追記
多分、PHP(mod_php)をRPMでいれたからハマったんだと思う。ググると、nginx+php-fpmの構成が多いので、Apacheと組み合わせないならばphp.ini
の編集でOKぽい。
やってないけど、/etc/httpd/conf.d/php.conf
のセッションハンドラとかの設定を消してやれば、php.ini
の設定が有効になると思う。