くりゅぴ!

サーバーやWEB問題解決のメモから生活お得情報まで。未分類のものは執筆中

セッション保存先は指定しておくべき

PHPで、ログイン情報などのセッションを扱う際は、データがサーバー上に保存され、指定されている時間でセッションデータを定期的に削除する。

1サーバーに1コンテンツならそこまで大きなことにならないですが、
バーチャルホストなどで複数WEBサイトがあり、セッションを利用するコンテンツを運用していると詰まる部分がある。

例えば、なぜか頻繁にログインセッションが切れてしまうという現象が起きる。
これは、それぞれのセッション保存先のパスが同じで、セッションの有効期限が異なっていると発生する。
それぞれのコンテンツごとにセッションの保存先パスを指定してあげることでこの現象は回避ができる。

PHPファイルの中や、php.iniなどで設定ができる。それぞれ書き方が少し違うため注意

.htaccessの場合は以下のように記載

php_value session.save_path “保存先パス”
php_value session.gc_maxlifetime 86400
php_value session.cookie_lifetime 0

save_pathが保存先
gc_maxlifetime がサーバーでセッションデータを保存しておく有効期限
なお、この有効期限が切れても他の記述でランダムで削除するというパラメーターが用意されていて、この有効期限値+そのランダムで削除するかしないかが決まる。これも必要があれば変更ができる。
cookie_lifetimeがブラウザでどれだけcookieの有効期限を指定するか
これが0だとブラウザを閉じたらcookieを消すとなり、再度セッションが新しく保存されるとなる。

WEB開発

タグ: ,

WEB開発の最新記事

2020年7月13日
印刷時改ページをする
2020年7月10日
PHPのJsを外部ドメインより呼び出す
2020年7月10日
ブラウザにキャッシュさせない

コメントを残す

メールアドレスが公開されることはありません。