CentOS 7でPHPのセッション保存先をredisに変更できずにはまりました。
通常はphp.iniで下記のように設定するとセッション保存先をredisにできます。
session.save_handler = redis session.save_path = "tcp://localhost:6379"
ところが、CentOS 7でApache、PHPをyumでインストールしているとセッション保存先がredisに切り替わりません。
phpinfo()を確認してみると、session.save_handlerがMaster Valueではredisになりますが、Local Valueではfileのままになっています。
どこでsession.save_handlerがfileに指定されているか調査したところ、/etc/httpd/conf.d/php.confに下記記述がありました。
# # Apache specific PHP configuration options # those can be override in each configured vhost # php_value session.save_handler "files" php_value session.save_path "/var/lib/php/session"
この指定を書き換えるかコメントアウトする等の対応をすれば、セッション保存先をredisに切り替えることができます。
ちなみに/etc/httpd/conf.d/php.confはCentOS7のphpのrpmに含まれています。
$ rpm -qf /etc/httpd/conf.d/php.conf php-5.4.16-36.el7_1.x86_64