IT-Q

本番で画面が 500 エラーになりました。最初にどこを見ますか。

まず storage/logs のアプリログです。そこに何も無ければアプリが起動する前に落ちているので、Webサーバーのログを見ます。権限、config キャッシュ、依存の3つが定番の原因です。

面接官が見ているのは障害時の初動。基礎編の締めとして、調べ方を知っているか。

よくある答えと、面談でどう見られるか

  • storage/logs のアプリログを見る
    そこに何も無ければ、アプリ起動前に落ちているのでWebサーバー側のログを見ます。
  • .env の APP_DEBUG を true にして画面にエラーを出す
    原因は見えますが、本番では設定内容やスタックトレースが外部に露出します。やってはいけません。
  • とりあえずサーバーを再起動する
    原因が分からないまま再発します。まずログです。
  • 直前のコミットをすべて revert する
    復旧としては有効ですが、その前にログを見れば原因が特定できることが多いです。

模範解答

まず storage/logs のアプリログを見ます。そこに何も無ければ、アプリが起動する前に落ちているということなので、Webサーバー(nginx / Apache)のエラーログを見ます。

よくある原因は3つです。storage と bootstrap/cache の書き込み権限、config キャッシュが古いまま残っている、.env の項目不足。

本番で APP_DEBUG=true にして画面に出すのは避けてください。設定値やスタックトレースがそのまま外部に見えます。