2

ヘルパーSentry::authenticateAndRemember($credentials);を使用してユーザーを認証していますが、しばらくすると (数日) 接続が切断されます。使用されるセッション ドライバーはデータベースのものです。

私はこの問題を調査し、Sentry がユーザーの認証をどのように記憶しているかを理解しようとしました。まず、セッションテーブルで、ペイロードが何を表しているか知っている人はいますか? 作成した Cookie を確認したところ、理由はわかりませんが、有効期限が 1 か月後に設定されています (ソース コードでは 5 年後に設定されているようです)。また、ユーザーを記憶せずにログインしようとしましたが ( Sentry::authenticate($credentials, false);)、まったく同じ Cookie が作成されたので、ブラウザーを終了するときに切断されませんでした。

私が言ったことを説明する手がかりはありますか?

4

2 に答える 2

1

問題の解決策を見つけました.php.iniで変数session.gc_maxlifetimeが1440に設定されていました.この設定は、データが「ガベージ」として表示されるまでの秒数を指定するため、24分後にセッションが無効になりました.

2592000 (30 日) に設定した後、問題は解決しました。これが誰かの役に立てば幸いです。

于 2014-01-10T20:05:55.263 に答える