Laravelのセッション管理をデータベースに変更

Laravelのセッション管理をデータベースに変更するのが思いのほか手軽に出来たので、手順をご紹介致します。

結論から言ってしまうと、基本的に下記のLaravel公式サイトのドキュメントの手順に従って進めるだけでした。
Laravelのセッション管理のデフォルト設定は「file」なのですが、今回は「database」に変更します。
https://readouble.com/laravel/5.5/ja/session.html

環境

Laravel:5.5
MySQL:5.7.23

手順

  1. セッションドライバの設定変更
    config/session.php もしくは .envファイルを変更します。
    公式サイトだとconfig/session.phpの記述しかないですが、それで設定が有効にならない場合はおそらく.envファイルに同様の記述があり、そちらの設定が有効になっているのだと思います。

    'driver' => env('SESSION_DRIVER', 'file'),
    ↓
    'driver' => env('SESSION_DRIVER', 'database'),
    SESSION_DRIVER=file
    ↓
    SESSION_DRIVER=database
  2. Artisanコマンドの実行
    下記のArtisanコマンドの実行により、データベースにsessionsテーブルが作成されます。

    php artisan session:table
    
    php artisan migrate
  3. 変更確認
    「file」の場合は「storage/framework/session/*」にセッションデータが保存されていたのですが、「database」に変更したことによりデータベースのsessionsテーブルにセッションデータが保存されるようになりました。

まとめ

セッション管理の変更は手順が多かったり複雑だったりと、もう少し時間が掛かるかと思ったのですが、Laravelでは手軽に変更できました。

Laravelのセッション管理をRedisに変更


--------------------------
システム開発のご要望・ご相談はこちらから

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です