ブラウザページを閉じるか手動でログアウトするまで、ログインしたままにしておいて、ログインページ/システムが正しく機能しています。しかし最近は、セッションクッキーが期限切れになっているため、ユーザーが自動的にログアウトするようになっています(昨日から)。数秒後にPHPセッションがランダムに期限切れになる
これは、さまざまなブラウザと異なるオペレーティングシステムで発生します.PHPバージョンは5.6.29で、最近変更されています(5.5以前、さらに5.3まで)。
私はsession_start()
のすべてのページでセッションを作成して更新します。ログインスクリプトはまずユーザー名とパスワードを確認し、データベースから他のユーザーデータも取得します。これらの他のデータは、最初の変数に保存され、成功したログイン状態を次のように保存され
$_SESSION['username'] = $name;
$_SESSION['usertype'] = $type;
などのセッション変数に書き込まれます。このような私は、ログイン状態をチェックし、他のページで
$_SESSION['login'] = "ok";
:
session_start();
if(($_SESSION['login'] != "ok") OR ($_SESSION['usertype'] != "xxx")) {
header("Location: ../login.php"); /* redirects to login page if conditions are not true */
exit;
}
ログイン作品、およびログインしたユーザーがいる限り、一定に連続して、多かれ少なかれ、それがそうであるように他のページに進みますが、することができます何人かが何時間も待っている場合は、10(すなわち、どんな活動もせずに)はログアウトしました(つまり、別のページを開くときにログインページにリダイレクトされました)。
は、それが超厄介なようにするには、それだけでも、半時間後に、期待どおりに動作時間の半分は...すべてのヘルプは非常に高く評価されるだろう。
UPDATE:
はini_set('session.gc_maxlifetime', 3600');
と `ini_set( 'session.cookie_lifetime'、3600)を追加します。助けてくれなかった。私は再びそれを取り除いた。
はその後、私はエラーログで見ていたし、これを見つけた:
ap_pass_brigadeがエラー103で失敗しました:ソフトウェアが接続 が
(問題がある、私が持っていない
を中止原因サーバ設定へのアクセス - これは共有されたウェブスペース上にあります...)
。デフォルトのセッションタイムアウトはおそらくデフォルトであり、古いシステムではより大きな時間にアップされたでしょう。 – RiggsFolly