Help us understand the problem. What is going on with this article?

(小ネタ)session.save_pathの調べ方

More than 1 year has passed since last update.

はじめに

ログインして使うシステムについて、稼働サーバのデータベースをダンプして開発環境にインポートしたら、直前まで使ってたユーザが稼働サーバにはなくてUser Not Found、さらにログアウトすらできない、という状況になったことないですか?(今なりました)

開発環境の話なんで、サーバのセッション情報を破棄すればいいかーと進めたところでハマった、という投稿です。

環境

  • centos7
  • php7.2
  • apache2.4

↑をざくっとyumで作った環境です。

セッションファイルの保存場所

上記の環境をざくっと作ると、セッションはファイルで管理されます。破棄するのであればそのファイルを削除してしまえばOK。ということで、あとはその場所を調べるだけ。

確認箇所1:phpの設定

phpinfoに載ってます。例えばコマンドなら↓。

$ php -i | grep session.save_path

phpのiniで設定していれば上記で出力されて解決です。が、環境に書いたようにざくっと作るとsession.save_path => no value => no valueとなってわかりません。

確認箇所2:apacheの設定

php.iniのsession.save_pathの説明を読んでみたら、こんなことが書いてありました。

; RPM note : session directory must be owned by process owner
; for mod_php, see /etc/httpd/conf.d/php.conf
; for php-fpm, see /etc/php-fpm.d/*conf

そういえば、この環境だとmodで読み込んでた覚えが。では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"
php_value soap.wsdl_cache_dir  "/var/lib/php/wsdlcache"

ありましたありました。php_value session.save_path "/var/lib/php/session"とあるので、/var/lib/php/sessionに格納されてることがわかりました。

おわりに

phpのセッション設定がapacheで上書きされているとは知らなかった、というハマりでした。前も同じようにハマったにも関わらず、覚えてなかったのでその戒めとして。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away