0

ユーザーのログインに Codeigniter セッションを使用しています。私にはいつも不可解な理由で、ユーザー セッションが破棄され、再度ログインしなければならないことがあります。

Codeigniter セッションは Cookie ベースであるため、Cookie が破棄された理由を理解するには、ブラウザーを確認する必要があると思います。

まず、それは本当ですか?もしそうなら、誰かがメソッド (php、js、ブラウザ開発ツール?) を提案して、各セッションが破棄される原因となるエラーをログに記録できますか?

4

1 に答える 1

0

./application/config/config.phpの Cookie タイムアウト設定をチェックして、これが途方もなく低くないことを確認します。

$config['sess_expiration']      = 7200;

この動作には他にも多くの潜在的な原因があり、それらはすべて環境によって異なります。例えば:

  • コードが「スティッキー セッション」用に構成されていないロード バランサーの背後にある複数のサーバーで実行されている場合、すべての要求に対して (潜在的に) 新しいサーバーがヒットし、セッションが再作成されます。
  • Web サイトが複数のドメインを利用している場合、Cookie はすべてのドメインに対して有効ではなく、作成したドメインに対してのみ有効です。

ただし、コードや環境について何も知らなくても、firebug または chrome 開発者ツールを使用してブラウザーから Cookie を確認し、ネットワーク層で何が要求され、応答されているかを確認することをお勧めします。

于 2013-11-08T16:10:13.060 に答える