web-dev-qa-db-ja.com

サポートされている暗号は、正しいキー長のAES-128-CBCおよびAES-256-CBCのみです。 laravel 5.3

laravelを使用してcomposer 5.3の新しいコピーをインストールしましたが、このエラーが引き続き発生します。

サポートされている暗号は、正しいキー長のAES-128-CBCおよびAES-256-CBCのみです。 configディレクトリのapp.phpファイルは
'cipher' => 'AES-128-CBC'、

52
Emmanuel Mariki

Appicationフォルダーに。envが必要です。次に実行します:

$ php artisan key:generate

。envがない場合。env.exampleからコピー:

$ cp .env.example .env
81

端末で次のコマンドを実行します。

php artisan config:clear
それから
php artisan config:cache

19
Lee

php artisan key:generateを実行します。

php artisan config:clearを実行し、

その後、php artisan config:cache

そして、物事が機能し始めます!

15

そのマシンでLaravelプロジェクトを初めて実行する場合、必要な requirements があることを確認してください。プロジェクトディレクトリでCMD/Terminalを開くか、

cd to/your/project/dir

このコマンドを再度与えます:

composer update

.env.example.envに変更し、dbエラーを回避するために、特にデータベース構成でそのファイルに必要な変更を加えます。それから

php artisan key:generate

これは、Laravelプロジェクトを作成するか、gitからクローンを作成するたびに、このAES暗号キーの長さの問題を解決します。

8

わかりました、これは基本的に既に答えられました、しかし、私はそれらの2つのうちの1つを抑制または便秘したいくつかの警告を見つけました...

まず、すでに述べたように、既存の.envファイルをそのままコピーすることで、ターミナルで達成できる有効な.env.exampleファイルがあることを確認する必要があります。

$ cp .env.example .env

次に、アプリケーションキーを生成します

$ php artisan key:generate

これが完了したら、必ず.envファイルを開いて、APP_KEY行が正しいことを確認してください。これが私の疑問の由来です。

APP_KEY=base64:MsUJo+qAhIVGPx52r1mbxCYn5YbWtCx8FQ7pTaHEvRo=base64:Ign7MpdXw4FMI5ai7SXXiU2vbraqhyEK1NniKPNJKGY=

キーの長さが間違っていることに気付くでしょう、何らかの未知の理由で(おそらくkey:generateを複数回実行することにより)、そこに2つのbase64=キーがあります。 Artisan/Laravelのバグのようです

この答えが、同じ問題や迷惑なバグに苦しんでいる人に役立つことを願っています。

6
Rottingham

これらの手順に従ってください:

ステップ1:アプリケーションに.envファイルがあることを確認します。このコマンドを実行しない場合はcp .env.example .env

ステップ2:次のコマンド(php artisan key:generate)を実行してキーを生成すると、.envファイルに自動的に保存されます。

ステップ3:php artisan config:cacheを実行する

それはすべてを修正します。

5
PHP Worm...

.envファイルでこのキーを与えると完了です

APP_KEY=ABCDEF123ERD456EABCDEF123ERD456E

まだ動かない?

CLIから作業している場合は、サーバーを再起動してください。

説明が必要ですか?

エラーメッセージに次のように表示されます。

サポートされている暗号は、正しいキー長のAES-128-CBCおよびAES-256-CBCのみです。

AES-128-CBCのキーの長さは16文字です(例:ABCDEF123ERD456E)

AES-256-CBCのキーの長さは32文字です(例:ABCDEF123ERD456EABCDEF123ERD456E

config/app.phpcipherが上記の2つのような適切な暗号に設定され、キーが.envファイルAPP_KEY変数を指していることを確認してください。私のアプリにはAES-256-CBC暗号セットがあるため、APP_KEY=ABCDEF123ERD456EABCDEF123ERD456Eのような32文字のキーを指定しましたが、その後はすべて正常に機能しました。

1
fayz

APP_KEYが設定されていない場合は、.envファイルを確認してください。問題です。今すぐphp artisan key:generateを実行してからphp artisan config:cacheを実行してください

.envファイルにAPP_KEYキーを設定します。

APP_KEYがすでに設定されている場合、同じコマンドを実行します。このキーが更新されます。

1
Imad Ullah

composer create-project --prefer-dist laravel/laravel marketのようなコマンドを使用してlaravelプロジェクトを新規作成し、cpコマンドを使用して新しいリポジトリをアプリケーションパスにデプロイすると、この問題が発生する場合があります。

私はlaravel 5.4を使用します

roofe@www:~/market$ php artisan --version
Laravel Framework 5.4.33

laravelプロジェクトを作成すると、次のようなキーを作成するログを確認できます。

自動ロードファイルの生成

Illuminate\Foundation\ComposerScripts :: postUpdate php artisan optimize最適化されたクラスローダーの生成コンパイルされたサービスファイルは削除されました。 php artisan key:generate application key [base64:exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/k =]は正常に設定されました。

デフォルトでは、config/app.phpのキー設定は次のとおりです。プロジェクトの作成時に生成されるキーはAES-256-CBCを使用し、.envファイルに保存されます。 cp -r ./* /var/www/market/のようなコマンドを使用すると、.envファイルはアプリケーションパスに移動しません。

/*
|--------------------------------------------------------------------------
| Encryption Key
|--------------------------------------------------------------------------
|
| This key is used by the Illuminate encrypter service and should be set
| to a random, 32 character string, otherwise these encrypted strings
| will not be safe. Please do this before deploying an application!
|
*/

'key' => env('APP_KEY'),

'cipher' => 'AES-256-CBC',

Deployコマンドをcp -r ./* ./.env /var/www/market/に変更すると、この問題はなくなりました。

このgithub issue も参照できます。

0
Kris Roofe

Artisanコマンドが機能せず、コマンドラインで同じエラーが表示される場合、composerがすべてのファイルを取得するのに十分な仕事をしていないことを意味します。ベンダーフォルダーを削除してcomposer updateを実行する必要があります再び。

0
user2962785

確認すべきもう1つのことは、.envファイルがwww-dataグループ(またはhttpdまたはWebサーバーグループ)にあり、グループに読み取り権限があることです。

Linuxでは、このエラーが発生したとき、許可は次のようになりました。-rw-rw-r-- 1 kevin kevin 618 Mar 16 09:32 .env次に、すべての読み取り許可を削除し、グループの書き込み許可を削除しました。 chmod 640 .envその後、グループをwww-dataに変更しましたchown kevin:www-data .env私の権限は次のようになりました:-rw-r----- 1 kevin www-data 516 Mar 16 09:35 .env

0
Kevin van Zyl