【Laravel】"環境構築中にサーバーエラー500が出るの対処法"

Laravelの開発環境構築時にサーバーエラー500が出てサンプルページが見られない場合の対処法について解説します。

動作環境

  • PHP : 8.1.9
  • Laravel : 9.25.1
  • OS : Windows
  • サーバー : nginx 1.15

Dockerを使用。

原因:.envファイルの暗号化設定が行われていないから

Laravelの環境構築を行っている際に、サーバーエラー500が返された場合、.envファイルの暗号キー設定が適切に行われていない可能性が高いです。

Laravelのログファイルに

No application encryption key has been specified.

といったエラーがないか確認してください。
(ログファイルは、Laravelのルート/storage/logs/にあります。)

Laravelに用意されているセキュリティ機能を利用するために必要な設定らしく、必須の設定であるため、この設定が正しく行われていない場合機能しないようです。

Laravelドキュメント「暗号化 9.x Laravel」2022年8月21日取得

解決方法

問題の解決には以下の手順が必要です。

  1. .envファイルを用意(作っていない場合)
  2. コマンドでキーを作成

Laravelのルート直下に.envファイルがまだ作られていない場合はまず.envファイルを作ってください。

.env.exampleがルート直下にあるので、それをリネームまたはコピーして.envを作ります。

.envができたら以下のコマンドを実行します。

php artisan key:generate

php artisan コマンドはlaravelルートでないと実行できないため、
コマンドの実行パスに注意してください。