Laravelエラーのデプロイ:サポートされている暗号化ツールが見つかりません。暗号および/またはキーの長さが無効です。



Deploy Laravel Error



1.背景

laravelプロジェクトをサーバーにデプロイします。訪問中のエラーメッセージは次のとおりです。

No supported encrypter found. The cipher and / or key length are invalid.

理由:config / app.phpに秘密鍵の種類に関する構成があり、デフォルト設定はAES-256-CBCです。つまり、対応する秘密鍵は32文字である必要があり、デフォルトの構成ではSomeRandomStringが16文字しか書き込まれません。 。もちろん、暗号をAES-128-CBCに設定することで、この問題を解決できます。



二、解決策

SomeRandomStringを使用したくない場合は、秘密鍵を生成することもできます。

//Point to the following command php artisan key:generate Application key [tFnLJ1Wo4647KlYxvCsjfMfI2VK5u2Rb] set successfully.

生成された新しいキーをSomeRandomStringの位置に置き換えます。
AES-128-CBCを次のように変更します:AES-256-CBC



3、その他の問題

1.許可の問題

アクセスするとき、ファイルのアクセス許可が不十分であることがよくあります。特にログファイル、キャッシュファイルなど。このような問題が発生した場合は、エラーメッセージに従ってファイルのアクセス許可を変更するだけです。

chmod 777 -R file name

2..envファイルの問題



.envファイルは非常にプライベートなファイルです。 gitなどのバージョンコントローラーを使用して開発する場合、このファイルをgitを介して転送しないでください。この時点で、gitのignore属性を設定し、CodeCloudへの.envファイルの送信を無視する必要があります。

1).gitignoreファイルを開きます

2)ファイルに.envを追加します

//Ignore every submission.envFile .env

同様に、プロジェクトをサーバーにデプロイするとき、.envファイルはありません。このとき、FTP経由でローカルの.envをサーバーにアップロードできます。または、サーバー上に新しい.envを作成します

//copy.env.examplefile. Renamed to.env cp .env.example .env //modify.envThe database configuration in, and other configurations

終わり