終電23時11分って早くね?

都内のIT企業で働くカラオケ大好きエンジニアの雑記

Laravel5.1でNo supported encrypter found. The cipher and / or key length are invalid.のエラーになる件

解決方法

Laravelのコードがあるディレクトリにてコンソールから、

php artisan key:generate

を実行。
で解決しました。

当方の環境としては、

でしたが、
Windowsのコンソールからでも、
vagrant sshしてサーバにログインしてからでも、
どちらでもうまくいくようでした。

原因

いろいろと設定して、
いざトップページを表示しようとすると、

f:id:blue_goheimochi:20151004231142j:plain

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点が実施されていない場合がありますので手動で実行する必要があるでしょう。