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の設定が有効になると思う。