0
0

【Laravel】「500エラー」時はDB接続を確認!

Posted at

環境

Laravel v9.5.1 (PHP 8.1.2)
AWS
Fly.io(サーバー)
Supabase(データベース)

要約

500エラーはDB接続が上手くいっていないときに起こりやすいので、環境変数などをもう一度確認しよう

問題

PHPの練習がてら、Xのクローンアプリを作成。いざFly.ioでデプロイを試みる。
a08be6b8c3ba304fd4b220099ac40d41.png
おっ、ローカル環境通り上手くいったのでは???
という淡い期待もつかの間、ログイン情報を入力後の画面で「500 | SERVER ERROR」が表示された。
80ce346364a562718ad8ec21ffab3e8f.png

解決法

ローカルで動くのに本番環境ではなぜ動かないのか?

ググってみたり有識者に聞いてみると、「多くの場合、プログラムではなく環境の問題です」「特にDB接続が上手くいっていない場合が多いので、接続情報を見直してみましょう」とあった。

そこで実際にログを出して接続情報を確認してみると…
Fly.tomlのファイルのenv欄に接続情報を書くのを失念していた。

[env]
  APP_URL = "https://micropostsdao.fly.dev/"
  APP_NAME = "Microposts"
  APP_DEBUG = false
  DB_CONNECTION = "pgsql"
  DB_HOST = "db.ehgvvqinswchenabocqs.supabase.co"
  DB_PORT = 5432
  DB_DATABASE = "postgres"
  DB_USERNAME = "postgres"

(個人情報は出ていないはず)

まとめ

ローカル環境では〇、本番環境では×の場合は、環境変数などの定義漏れに注意

0
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
0
0