WEBサーバ複数台でセッションを共有したくて
セッションをmemcacheに保存したかったときにはまったお話。
+
memcaheサーバが複数台だとどう設定したものか。というお話。
はまった点
・phpのsessionの設定場所について
/etc/php.ini
/etc/php.d/memcache.ini
/etc/httpd/conf.d/php.conf
ってな感じで複数個所ある。
んで、僕の環境の場合 mod_php 利用しているため
「/etc/httpd/conf.d/php.conf」の設定が最後に適用されるみたい。(※1)
なのでApache経由で触るだけなら「/etc/httpd/conf.d/php.conf」を編集しておけばOK。
はまったところ
php.iniのみ変更して phpinfo を見ると
master value:memcahe
local value:files
↑
ここでだいぶはまった。
まぁ最終的にPHPのソース内で書き換えました。(※2)
ini_set( 'session.save_handler', 'memcache' );
ini_set( 'session.save_path', 'tcp://host1:11211, tcp://host2:11211' );
引用元
※1
http://qiita.com/takehironet/items/3522a2f38f86d783d01a
※2
http://www.trajectory.jp/tech/php/memcachesession.html