私はLaravel 5の新しいインストールをしています。実際、これを複数のバージョンで試してみましたが、同じ問題を抱え続けています。私のLaravel 5.2.10セッションは残っていません
セッションドライバを設定する以外は、デフォルトから何も変更していません。 (ファイルベースも同じ問題があります)。私はセッションはRedisの中に表示されたURL /設定/ ABCを訪問すれば
Route::get('/set/{value}', function($value) {
var_dump(Session::getId());
Session::set('test', $value);
return view('welcome');
});
Route::get('/get', function() {
return 'Get ' . Session::get('test');
});
を次のように
は、私が設定した2つのルートを持っている(私はまた、ベースのファイルを使用するときに作成したファイルを参照してください)。セッションは以下のようにREDISで正常に見えます127.0.0.1:6379> KEYS *
1) "laravel:1a3ae6caff6346e4a173fdc1ab4c6eb0f138806b"
2) "laravel:fed1af2fb44c6e625953237c3fa6fcbb05366a5c"
3) "laravel:cb37286ccfe3e7caa20557aca840f50cb5a5f20d"
私がページにアクセスするたびに、新しいセッションが再作成されます。私はまた、Redisの中でセッション変数のTTLをチェックして、彼らは120分(秒相当)で初期化されますか
'lifetime' => 120,
'expire_on_close' => false,
次のように
session.phpファイルのキーパーツです。
私が間違っていることは何ですか?
私はこれをテストするためにホームステッドVM(完全在庫)を使用しています。私はまた、複数のブラウザを使用してみました。ブラウザにクッキーが送られることはありません。私は最初のget要求の一環としてセッションIDをブラウザに送信する必要がありますか?
本当に奇妙だ...私は、ローカルに行動を再現しようとしています。私は 'getId'メソッドが何か厄介なことをしているのだろうかと思う。 – FBidu
@FBidu私はgetId関数を使って試してみたが、何らかの方法で影響を与えていないようだ。 –
@FBidu実際に['getId'](https://github.com/laravel/framework/blob/5.2/src/Illuminate/Session/Store.php#L162-L165)はそれが何を意味するのか、 )。 – Bogdan