質問: Laravel5.2でwebアプリケーションを開発しているのですが、 次のページまでログイン状態を保持できません。 解消方法をご教授いただけないでしょうか。宜しくお願い致します。 **最終目的** laravelで、リクエスト間でログイン状態を維持したい。 **問題** ・新しくリクエストを送ると、新しいsessionが作られてしまい、ログイン状態を保持できない **経緯** ・POSTでリクエストを送ると以下のエラーが出てしまいました。 ``` TokenMismatchException in VerifyCsrfToken.php line 67 ``` ※下記の質問の回答のような、{{ csrf_field() }}の追記は行っております。 調べて見たところ、 ・storage/framework/sessions/配下のsessionファイルがリクエストの度に増えておりました。 ・そのため、リクエストをした際に新規にsessionファイルが作成され、ログイン状態を維持できないのでが原因と思われます。 ただ、複数のデバイスと複数のブラウザで確認をしているのですが、ランダムにsessionが切れることがあったり、なかったりするため、明確な原因の特定はできておりません。 ※また、config/session.php内の設定をcookieに変更して試してみましたが、解決できませんでした。 ``` 'driver' => env('SESSION_DRIVER', 'file') ↓↓ 'driver' => env('SESSION_DRIVER', 'cookie') ``` **質問** ・なぜリクエストの度に新規にsessionが作成されるのでしょうか? ・リクエストの度にsessionを変えずにログイン状態を保持する方法はありますでしょうか? **環境とエラー内容は以下の通りです。** ``` 環境 centOS 6.9 Laravel 5.2 php 5.6 mysql 5.6.38 artisanサーバー ``` 以上の問題を解消できませんでしたのでどなたかご教授いただけないでしょうか。 足りていない情報がございましたらお教えください。宜しくお願い致します。
回答: asahina1979さんの質問への追記通り、env関数は第一引数が、.envの内容の取得、第二引数が定義が無い場合のデフォルト値なので、file以外のドライバーを試す場合は、.envのSESSION_DRIVERをcookieやdatabaseにしてみてください。 databaseセッションドライバを利用する際は、以下のドライバの事前要件を確認してください。 Laravel 5.2 HTTPセッション また、5.2は2016-08-26以降には全くメンテナンスされていないので、特別な事情がない限りは5.5の利用を検討してみて下さい。 Laravelのリリース日と修正期間のまとめ CHANGELOG-5.2.md 何かしらのLaravel用のライブラリをインストールしている場合は、そのライブラリの対応バージョンも確認してみて下さい。