PHP7.1、CodeIgniter-3.1.6のconfig.php にセッションの期限を
以下のように15秒に設定しました。
$config['sess_expiration'] = 15;
・ログインが成功すると以下のようにセッションを設定します。
$_SESSION['login'] = TRUE;
・ログイン後のページの先頭はでは
以下のようにログインを判断しています。
PHP
1if( empty($_SESSION['login'] ) ) 2{ 3 ログインページへ移動 4}
発生している問題
ログイン後のページがローカルと本番で挙動が異なります。
【ローカル環境】
ログイン後15秒程度経過したのブラウザの更新ボタンを押すとログインページへ移動します。
また、ログインから15秒以内であれば、ブラウザを閉じた後もログイン後ページにアクセスすると、そのままログイン後ページが表示されます。
【本番環境】
ログイン後のページはブラウザを閉じなければ何時間たっても、ページの更新でログインページへ移動することはありません。
また、ブラウザを閉じてログイン後ページを開こうとするとどんなに素早く操作してもログインページに移動します。
お尋ねしたいこと。
なぜ、ローカルと本番で挙動が違うのか(セッションの期限が違うのか)、考えられる原因についてアドバイスいただければ幸いです。
ちなみに本番環境のほうが私が望んでいる挙動です。
以上、よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/17 12:14
2018/03/18 04:23