[Laravel]エラー"No application encryption key has been specified."が出るとき

カテゴリ: Laravel

Laravelのプログラムを実行すると、下記のエラーが出ることが有ります。

RuntimeException
No application encryption key has been specified.

これはエラーメッセージ通り、Laravelプロジェクトに暗号化キーが未設定のためです。

暗号化キーを設定する

暗号化キーはartisanのkey:generateコマンドを使用して設定できます。

$ php artisan key:generate
Application key [base64:lGRwNyFZ3db+hBuRcMm3y1ttixSnW8QMMc4vYyBG/La=] set successfully.

設定されたキーを確認する

設定されたキーは.envファイルに保存されているので、暗号化キーが設定されているかはファイルの中を見れば確認できます。

$ cat .env | grep "^APP_K"
APP_KEY=base64:lGRwNyFZ3db+hBuRcMm3y1ttixSnW8QMMc4vYyBG/La=

上記の方法以外にもartisan key:generateに--showオプションをつけて実行することでも確認できます。

$ php artisan key:generate --show
base64:d1GZFU63VrjumNgZv+0p04luhnjvlCQ9Zw4FOB3qqSc=

key:generateを実行してもエラーが解消されないときは?

artisanのkey:generateコマンドを実行してもエラーが解消されない場合は、configのキャッシュクリアを行ってみてください。

  • 'php artisan serve'コマンドで実行している場合はいったん終了させる

  • 下記のコマンドでキャッシュクリアする

    $ php artisan config:clear
    Configuration cache cleared!
    
  • 再度'php artisan serve'コマンドで起動させる

こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。