Laravel環境構築時のエラー
初めまして、Laravel初学者のものです。
新しいアプリを作成してみようと思い、Laravel sail
を使用して環境構築しlocalhostを開いたところ下記エラーが表示されました。
SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select * from sessions where id = 5d3B1AuW5zW1TpmKRRFXLSYLoiefJcQDG2kSAhBl limit 1)
「あれ?今までこんなエラー表示されたっけ?」
今まで何度か環境構築してきましたが、構築時にこのようなエラーが表示されることはありませんでした。
結論
セッションドライバの設定が「database」になっていることが原因でした。
新しく構築した環境ではconfig/session.php
と.envファイル
にてdatabaseを使用するよう設定されいたため、localhostを開く前にデータベーステーブルを作成するためのマイグレーションが必要なようです。
'driver' => env('SESSION_DRIVER', 'database'),
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null
なぜ自分が今までマイグレーションをせずにlocalhostを開けてたのかというと、このセッションドライバ設定がfile
になっていたからでした。
もし私と同じように今までfileセッションドライバを使っていて、新環境を構築した際にSQLSTATEエラーでlocalhostが開けなかった場合はconfig/session.php
と.envファイル
を確認してみてください。
後書き
プログラミング自体初心者の私がアウトプットも兼ねて初めて投稿してみました。
もし記載した内容に不備があった場合教えていただければ幸いです!
それにしてもLaravelのドキュメントを読んでみるとデフォルトはdatabaseセッションドライバに設定されているとの記載がありましたが、なんで今まで自分はfileセッションドライバに設定されていたんだろうか。。。
(今までLaravel10を使っていたからLaravel11から変わったのかな?)