アプリケーション暗号化キーが指定されていません


255

私はLaravelを初めて使い、Artisanコマンドを使用しようとしています...

php artisan serve

それが表示されます...

Laravel開発サーバーが起動しました:http : //127.0.0.1 : 8000

ただし、自動的に起動しないため、手動でhttp://127.0.0.1:8000と入力すると、次のエラーが表示されます。

RuntimeExceptionアプリケーション暗号化キーが指定されていません。

何か案は?Laravelフレームワーク5.5-devを使用しています。


またはあなたの.envファイルが参照に変更する必要がある場合:stackoverflow.com/questions/36276767/...
Nameishi

2
以下の答えは正解です。ただし、最初に「php artisan serve」を実行し、アクティブなWebサーバーセッションがある場合は、サーバーを再起動して(ターミナルのcontrol-cを停止して)、変更を有効にする必要があります。キーを.envファイルに追加します。
Chris Adams

回答:


437

暗号化から-Laravel-ウェブ職人のためのPHPフレームワーク

「Laravelの暗号化機能を使用する前に、config / app.php構成ファイルでキーオプションを設定する必要があります。php artisan key:generateこのキーを生成するには、コマンドを使用する必要があります。 」

google.comでこの複雑なインターネットクエリを使用していることがわかりました:

「laravel add encrption key」(はい、タイプミスでも機能しました!)


22
エラー全体をグーグルで検索しても何も表示されず、エンクリプティオンキーをグーグル設定して見つけただけです。ばかみたいに感じる。ありがとう。ここに到着した誰もがちょうど実行のために:php artisan key:generate
カルロス・F

申し訳ありませんが、php artisan key:generateをターミナルに配置していますか?ErrorExceptionが発生するため
Nameishi

1
私の問題に遭遇した他の誰かのために、これをターミナルに入力してくださいcp .env.example .env php artisan key:generate
Nameishi

5
php artisan key:generate私のためにも機能しません。同じエラーが表示されるアプリケーション暗号化キーが指定されていません。解決策を教えてください。
Oniya Daniel

7
これは私にとってはうまくいきましたが、これを機能させるには、最初にファイル.env.exampleを.envに名前変更する必要がありました。そうしないと、「。env:no such file」エラーが発生しました。
Webomatik

129

私の場合、キャッシュされた設定ファイルもリセットする必要がありました:

php artisan key:generate
php artisan config:cache

5
キャッシュをクリアするのを忘れた後、私はいつもこの答えを見に来ます
vijayrana '21

3
これはすべての回答から欠落していた。どうもありがとうございました!:)
アマンアラム

1
何のphp artisan config:cacheため?なぜそれが役立つのですか?
Pathros

2
キャッシュされた構成ファイルを作成/再生成する
@Pathros

1
これに加えて、まず、あなたの「ことを確認してください.env:少なくとも同じように、空のキー・オプションが含まれている」ファイルAPP_KEY=
トップマスター

54

プロジェクトのルートフォルダーでコマンドプロンプトを開き、以下のコマンドを実行します。

php artisan key:generate

アプリケーションのアプリケーションキーを生成します。

生成されたアプリケーションキー(APP_KEY)は.envファイルにあります。


23

このコマンドを実行するだけです:

php artisan key:generate

1
はい。しかし、多くのホスティングサーバーにはコマンドラインアクセスがありません。
Dhiraj 2017年

2
大多数がssh接続をサポートしています。端末からssh yourusername @ server_ipを実行します
DJ

21
  1. コピー.env.exampleするには.env

    cp -a .env.example .env

  2. キーを生成します。

    php artisan key:generate

  3. その後のみ実行:

    php artisan serve


おっと。これは重要なステップでした!新しいLaravelプロジェクトは.envファイルを必要とするか、何も機能しません。ありがとう、アダム。
エリックL.

16

cp .env.example .env.envファイルが存在しない場合。 php artisan key:generateコマンドは私のために働きます。暗号化キーを生成します


4
php artisan config:cache上記の手順の後、コマンドを使用してキャッシュをクリアします。
Sabyasachi Ghosh

キャッシュのクリアは、プロダクション/ステージングでほとんど必要ですが、開発中は必要ありません。(開発中にビューをキャッシュしたくない場合)。
killstreet

14

実際に.envファイルをプロジェクトに追加し、.env.exampleの内容をコピーして、が機能するようにしkey:generateなければなりませんでした。プロジェクトの開始時に.envファイルが作成されなかった理由がわかりません。


1
Laravelのインストール.env.example.env方法によって異なる場合があります... "Laravel の新規インストールでは、アプリケーションのルートディレクトリにファイルが含まれます。Composerを介してLaravelをインストールすると、このファイルの名前はに自動的に変更されます。それ以外の場合は、手動でファイル。 " - #Environment設定
SᴀᴍOnᴇᴌᴀ

また、.envファイルが.gitignoreにある可能性が高いリポジトリからプロジェクトを複製した場合も、プロジェクトを作成する必要があります。Laravelのドキュメントから:「アプリケーションを使用する開発者/サーバーごとに異なる環境設定が必要になる可能性があるため、.envファイルをアプリケーションのソース管理にコミットしないでください」
Sami El Maameri

また、クラウドからダウンロードした場合(Windowsを使用しています)google-drive、sky-driveなどの場合、.env、.env.exampleファイルの名前は_env、_env.exampleなどです。その場合、それに応じてファイルの名前を変更してから、「php artisan key:generate」を実行しました。
ティモシークルーガー

11
php artisan key:generate
php artisan config:cache

私にとってはうまくいきましたが、Windowsのコマンドプロンプトで行う必要がありました。

PHPStormのターミナル内でそれを行うことはうまくいきませんでした。


11

Laravelアプリケーションでの作業中に発生する可能性のある一般的な問題は例外です。

RuntimeExceptionアプリケーション暗号化キーが指定されていません。

.env.exampleファイルをコピーする.envAPP_KEY変数の値を設定しない既存のLaravelアプリケーションをプルダウンすると、この問題が頻繁に発生します。

コマンドラインで、次のArtisanコマンドを発行してキーを生成します。

php artisan key:generate

これにより、のランダムなキーが生成されます。編集がAPP_KEY完了.envしたら、ターミナルに次のコマンドを入力してキャッシュをクリアします。php artisan config:cache

また、PHPのデフォルトのWebサーバー(例:)を使用している場合は、サーバーphp artisan serve再起動し.envファイルの値を変更する必要があります。これで、このエラーメッセージが表示されなくなります。


9

プロジェクトのルートフォルダーでコマンドプロンプトを開き、実行します

php artisan key:generate

その後

php artisan config:cache

その後

Key-Valueを設定した後で同じエラーが発生する場合は、.envファイルからAPP_KEY値をコピーし、「key」=>「YOUR KEY」を使用してconfig / app.phpに貼り付けます。

そして再び走る

php artisan config:cache

7

次の手順に従います。

  1. php artisan key:generate
  2. php artisan config:cache
  3. php artisan serve

.envファイルでキーを生成した後でも、エラーが発生しました。「php artisaan config:cache」を実行すると、キャッシュがクリアされ、問題が解決しました。どうもありがとう。
Pankaj

6

ここで明確な答えが見つからなかったので、別の指示を書きます。したがって、このような問題に直面した場合は、次の手順に従ってください。

  1. 名前の変更またはコピー/名前の変更.env.exampleに、プロジェクトのルートにあるファイルを.env

空の.envファイルを作成するだけでなく、.env.exampleの内容で埋める必要があります

  1. ターミナルで、プロジェクトのルートディレクトリ(パブリックフォルダではない)に移動して実行します

php artisan key:generate

  1. すべて問題なければ、ターミナルでの応答は次のようになります。

アプリケーションキー[base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =]が正常に設定されました。

  1. 次に、キー自体をコピーし、それを.envファイルに値としてAPP_KEYに貼り付けます。結果行は次のようになります。

APP_KEY = base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =

  1. ターミナルランで

php artisan config:cache

それでおしまい。


したがってphp artisan key:generate、キーを.envファイルに自動的に追加しませんでしたか?
Rwd

いいえ、私の場合。
Dmitry Gordienko

4

次のコマンドを使用して、アプリケーション暗号化キーを生成できます。

php artisan key:generate

次に、次のコマンドを使用して構成の読み込みを高速化するためにキャッシュファイルを作成します。

php artisan config:cache

または、次のコマンドを使用して、PHP開発サーバーでアプリケーションを提供します。

php artisan serve

それでおしまい!


3

プロジェクトをgit cloneすると、通常、この種の問題が発生する可能性があります。

  1. .envファイルがあることを確認してください
  2. 実行するphp artisan key:generateと、.envにAPP_KEY が生成されます
  3. 最後に実行するphp artisan serveと、動作するはずです。

1

Laravelプロジェクト(sites / oldnameなど)のコンテンツをMacの新しいディレクトリ(sites / newnameなど)に手動でコピーしたときに、この問題が発生しました。手動でドラッグアンドドロップしているため、非表示のファイル、つまり「.env」を取得しませんでした。sites / oldnameをさらに詳しく見ると、.editorconfig、.env、.env.example、.gitatrributes、.styleci.ymlなどが見つかりました。

非表示のファイルを新しいディレクトリにコピーすると、エラーはなくなりました。

したがって、「アプリケーション暗号化キーが指定されていません」は、Laravelが「あなたの.envファイルが見つからない」と言います。


0

ジョブを機能さphp artisan queue:restartせるphp artisan key:generateには、実行後にキューワーカーを再起動する必要がありました。



0

私の場合、gitからプロジェクトを複製している間、 .env

ファイル。.envソースファイルからファイルをコピーして現在のプロジェクトに貼り付け、データベースの構成を変更すると、正常に実行されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.