How to Resolve the No application encryption key has been specified Error【Laravel】
Thank you for your continued support.
This article contains advertisements that help fund our operations.
Table Of Contents
A guide to resolving the No application encryption key has been specified error that may occur when trying to display a page in Laravel.
Error Message
Illuminate\Encryption\MissingAppKeyException
No application encryption key has been specified
Solution
Run the following command:
php artisan key:generate
This usually resolves the issue.
If you encounter an error like the following:
The stream or file "/var/www/html/laravel-docker/src/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied
The exception occurred while attempting to log: file_put_contents(/var/www/html/laravel-docker/src/.env): Failed to open stream: Permission denied
Context: {"exception":{}}
This error occurs because there is no write permission for .env
. Grant permissions with the following command:
chmod -R 777 .env
Explanation
This error occurs when there is no string specified in the APP_KEY
field in the .env
file.
When you create a new Laravel project, the APP_KEY
is generated automatically. However, if you cloned the project from GitHub, .env
is not included in version control, so the APP_KEY
is not shared.
Even if you create a .env
file by copying from .env.example
, the APP_KEY
will be empty, resulting in this error.
php artisan key:generate
Running this command will populate the APP_KEY
field in .env
, resolving the error.
That's all. I hope this helps someone.