【Laravel】エラー対処法:No application encryption key has been specified|Your app key is missing

laravel-prograshi(プロぐらし) Laravel
記事内に広告が含まれていることがあります。

ローカル環境にLaravelをインストールし、php artisan serveで起動したときに次のようなエラーが発生することがあります。

No application encryption key has been specified

ここではこのエラーの対処法についてまとめています。

なお対処法はとても簡単で、1分あればできます。


エラーの内容

composerがインストールしてある状態で、以下のコマンドを実行しLaravelのプロジェクトを構築。

$ composer create-project laravel/laravel <プロジェクト名> --prefer-dist

プロジェクトの構築が完了したら、サーバーを起動

$ php artisan serve
Laravel development server started: http://127.0.0.1:8000

起動したページ「http://127.0.0.1:8000」にアクセスすると以下のようなエラーが発生。

RuntimeException
No application encryption key has been specified.

Your app key is missing
Generate your application encryption key using php artisan key:generate.

Generate app key
READ MORE
Laravel installation


対処法

手順

対処法はとても簡単です。

対処法の手順
  1. 画面に表示されている「Generate app key」をクリックする。
  2. サーバーを再起動する。


実例

画面に表示されている「Generate app key」をクリックします。

 ↓ 「Generate app key」をクリック

すると、「The solution was executed succesfully. Refresh now.」と表示されます。

ターミナルで「ctrl + c」を入力してサーバーを停止し、再起動します。

$ php artisan serve
Laravel development server started: http://127.0.0.1:8000

ページを開くと、以下のように正しく表示されます。


原因

このエラーの原因は起動時に参照する「.env」ファイルの変数「APP_KEY」が空になっていたことが原因です。

APP_KEY=

なお、エラーメッセージに表示されている「php artisan key:generate」はこのAPP_KEYを自動生成するコマンドです。

$ php artisan key:generate
Application key set successfully.

これを実行すると、APP_KEYに値がセットされます。

APP_KEY=base64:GY8CaiZljqbIjheOMFs7i2iTbwyu3/aIfyM=


APP_KEYとは何か?

APP_KEYとは、簡単にいうと、Laravelのプロジェクトのユーザー情報やセッション、パスワード設定などのデータを暗号化するために使うものです。

これがないと、暗号化できないためLaravelでは必須となっています。

重要なものなので、本番用のプロジェクトのAPP_KEYは公開しないように注意しましょう。


タイトルとURLをコピーしました