CentOS 7 PHPのセッション保存先にredisを指定できない

Linuxサーバー

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です