LoginSignup
4
3

More than 3 years have passed since last update.

500 server error エラーの原因を確認する方法

Posted at

はじめに

AWSでデプロイした際に本番環境のみ上記のエラーが出ました。また、ローカルでも同じエラーも出たことがありました。500 server errorと表示されるだけでエラーの原因が分からず手探り状態になりました。これを解消するためにlogsファイルを使用してエラーの原因を突き止める方法を投稿いたします。

条件

envファイルを作成・編集以外の対処になります

投稿者の環境

MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports)
macOS Big Sur バージョン11.0.1
PHP 7.3.23
Laravel Framework 6.20.7

エラー画像

現役エンジニア曰く、始末書を書かされるぐらい致命的なエラーみたいです・・・
“スクリーンショット” 2021-04-18 20.12.41.jpg

エラーの原因を探る方法

今回はlogファイルを使用しエラーの原因を突き止めます。
ターミナルを起動して下さい。本番環境のみ500 server errorが出る方はEC2を立ち上げて下さい。

ステップ1

問題のあるwebアプリケーションをディレクトリ先に移動して下さい。

cd /Applications/MAMP/htdocs/webアプリケーション名

ステップ2

logsファイルにディレクトリ先を変更。

cd storage/logs

ステップ3

catでファイルの閲覧を表示させます。laravel.logはlogsファイルの中にあるファイル名になります。

cat laravel.log

ステップ4

上記を実行するとlaravel.logのログの一覧表が大量に出てきます。#0から#60ぐらいまで出ると思いますが#0までスクロールして下さい。その上にエラー文が表示されていると思います。これを解決したら500server errorを解決できると思います。複数エラー出ている可能性もありますので一つずつ対処して下さい。投稿者はこの様なエラーが出ました。
“スクリーンショット” 2021-04-18 20.41.46.jpg

補足 logとは

アプリケーションは、1つのリクエストを取っても様々な処理が行われており、機能を維持しつつ拡張していかなければいけません。そのためにアプリケーションの状態を記録として残しておくことがログの役割です。

処理の中で適切にロギングすることで、開発する上で重要な情報を得ることができます。身近なことでいうとデバッグです、「この入力の時にこの処理起こるのおかしいな?どんな値として渡されているんだろう?」などロギング処理を埋め込むことで処理途中のアプリケーションの状態の一部を確認することができます

最後に

如何でしょうか? envファイルを作成・編集する投稿が多いですがこの様な対処のQiitaはないと思いますので是非、参考にして下さい!

参考文献

Laravel自体で発生したエラーのログはどこにでていますか?
ログを表示!Laravelでlogを出力させる方法【初心者向け】

4
3
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
4
3