mazeltov7のweb断片

備忘録的なテキトーなことを書きます。(技術記事はQiitaに移行しました http://qiita.com/mazeltov7 )

session_set_cookie_paramsとかセッション

これはなに

適当にsession_set_cookie_params付けてたけど、よくわかってなかった。el capitanにして、localhostの環境がlocalhost/~username/appnameみたいな感じでやるようになって、セッション消えたり、他アプリと共通化されたりおかしくなったので、調べた。

session_set_cookie_params(0, '/~username/appname/');

とかすると、第一引数はセッションクッキーの持続時間、0にすると制限時間無しになる。第二引数にはセッションクッキーが有効なpathを記載する。これでアプリ毎のセッションクッキーをセットできるようになる。

セッションの保存先だけど、php -i | grep session.save_pathすると見れる。設定はphp.iniでsession.save_path = "/var/lib/php/session"とかするとそこに書かれていく。デフォルトだと/tmpになってるぽい。

追記:php.iniにsession.save_path設定すると某アプリのログインcallbackでこけるな…おや…