1
0

Laravel環境構築時にlocalhostでSQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select * from sessions where id = 5d3B1AuW5zW1TpmKRRFXLSYLoiefJcQDG2kSAhBl limit 1)が出た話

Posted at

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を開く前にデータベーステーブルを作成するためのマイグレーションが必要なようです。

config/session.php
'driver' => env('SESSION_DRIVER', 'database'),
.env
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から変わったのかな?)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0