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'コマンドで起動させる
こちらもおススメ