No application encryption key has been specified
概要
Laravelアプリケーションで暗号化キー(APP_KEY)が設定されていない場合に発生するエラーです。セッション、暗号化されたCookie、パスワードリセットトークンなど、暗号化機能を使用する際に必要です。
エラーメッセージ
No application encryption key has been specified.
または
RuntimeException: No application encryption key has been specified.
Illuminate\Encryption\MissingAppKeyException: No application encryption key has been specified.
原因
このエラーは以下の原因で発生します:
- APP_KEY が未設定:
.envファイルにAPP_KEYが設定されていない - .env ファイルがない: プロジェクトのルートに
.envファイルが存在しない - キャッシュの問題: 古い設定がキャッシュされている
- デプロイ時のミス: 本番環境に
.envがコピーされていない
解決策
1. APP_KEY を生成
| |
2. .env ファイルを作成
| |
3. 手動で APP_KEY を設定
| |
4. キャッシュをクリア
| |
5. 本番環境での設定
| |
よくある間違い
git clone後に.envファイルを作成していない(.envは通常.gitignoreに含まれる)- Docker コンテナ内で
.envがマウントされていない - CI/CD パイプラインで
key:generateを実行していない - 複数環境で同じ
APP_KEYを使用(セキュリティリスク)
Docker 環境での対処
| |
| |
CI/CD での対処
| |
セキュリティ注意事項
| |
関連エラー
参考リンク
関連エラー
Laravel の他のエラー
この記事は役に立ちましたか?