Laravelをgithubからcloneした際にWEBアプリにブラウザからアクセスした際に500 ServerErrorが発生しました。
500エラーは解決することができましたので、Laravelで500ServerErrorがでる原因と解決方法を記事にしました。
目次
Laravelで500 Server Errorが出る原因と解決方法
.envファイルがない
自分の場合は.envファイルが存在しない、ということがエラーの原因でした。githubでcloneすると.envファイルは含まれておらず、.env.exampleとなっています。
そのため、この.env.exampleをコピーして.envファイルを作成する必要があります。
.envファイルを作成
,envファイルを.env.exampleからコピーして新規に作成していきます。
まずはLaravelのプロジェクトディレクトリへcdコマンドで移動します。
cd プロジェクトディレクトリ
【Macの場合】
cp .env.example .env
【Windowsの場合】
copy .env.example.env
上記コマンドを使用後に再度Laravelアプリにアクセスすると下記のような表示になりました。
Your app key is missing と表示され、Genearte app keyと書かれています。
アプリケーションキーを作成してください。とのことです。
キーを作成する
php artisan key:generate
上記コマンドを入力しますと、.env内の「APP_KEY=」にキーが作成されます。
「Application key set successfully.」と表示された後にLaravelアプリにアクセスしたら、無事にアプリが表示されました。
もしエラーが続く場合は、キャッシュクリアを試す
もし、この時点でエラーが解決しない場合は、キャッシュをクリアして、.envを再度読み込ませましょう。
php artisan cache:clear
上記のコマンドでキャッシュクリアができますので、クリア後に再度ブラウザでWEBアプリにアクセスしてみてください。
エラーの原因調査方法
500エラーの原因の多くは.envですが、原因が他にあった場合は前述の方法ではエラー解決することはできません。
500errorはLaravelのエラーログを確認しよう
500errorはブラウザ上では原因が表示されませんので、Laravelのエラーログを参照しましょう。
strage/logs/laravel.log
Laravelの場合はエラーログは上記に蓄積されていきます。
おもむろにlaravel.logを開くと上記のように大量に文字がありまして、複雑にみえます。
しかし数字の連番となっている部分は無視して、見るべきところは、赤矢印で記載した「ERROR」と表示されている行です。
こちらにエラーの原因が書かれていますので、そちらを元に解決します。