Laravel5.1でNo supported encrypter found. The cipher and / or key length are invalid.のエラーになる件
解決方法
Laravelのコードがあるディレクトリにてコンソールから、php artisan key:generate
を実行。
で解決しました。
当方の環境としては、
- Windows7
- Laravel5.1
- Homestead
でしたが、
Windowsのコンソールからでも、
vagrant ssh
してサーバにログインしてからでも、
どちらでもうまくいくようでした。
原因
いろいろと設定して、いざトップページを表示しようとすると、
RuntimeException in EncryptionServiceProvider.php line 29: No supported encrypter found. The cipher and / or key length are invalid.
のエラーになってしまい、
LaravelのWelcomeページが表示されませんでした。。
原因としては、.envファイルで指定されるはずのAPP_KEY
が指定されていなかったためです。
ex).evnファイルの一部
APP_ENV=local APP_DEBUG=true APP_KEY=SomeRandomString
composer経由でLaravelをインストールした場合には、
"post-root-package-install": [ "php -r \"copy('.env.example', '.env');\"" ], "post-create-project-cmd": [ "php artisan key:generate" ]
がcomposer.jsonで指定されており、
- env.exampleを.envとしてコピー
php artisan key:generate
の実行
を自動で行ってくれるので大丈夫ですが、
コードをzipで取得した際などにおいては、
上記2点が実施されていない場合がありますので手動で実行する必要があるでしょう。