No Application Encryption Key Has Been Specified

Viewed 543764

I'm new to Laravel and I'm trying to use the Artisan command...

php artisan serve

It displays...

Laravel development server started: http://127.0.0.1:8000

However, it won't automatically launch and when I manually enter http://127.0.0.1:8000 it shows this error:

RuntimeException No application encryption key has been specified.

Any ideas? I'm using Laravel framework 5.5-dev.

25 Answers

In my case, I also needed to reset the cached config files:

php artisan key:generate
php artisan config:cache
  1. Copy .env.example to .env:

    cp -a .env.example .env

  2. Generate a key:

    php artisan key:generate

  3. Only then run:

    php artisan serve

Open command prompt in the root folder of your project and run

php artisan key:generate

Then

php artisan config:cache

and Then

If you're getting the same error after having key-value, then just copy the APP_KEY value from .env file and paste it to config/app.php with 'key' => 'YOUR KEY',

and then again run

php artisan config:cache

In 3 steps:

Generate new key php artisan key:generate

Clear the config php artisan config:clear

Update cache php artisan config:cache

Follow this steps:

  1. php artisan key:generate
  2. php artisan config:cache
  3. php artisan serve

Simply run command php artisan key:generate.. Still issue exist then run one more command php artisan config:cache and php artisan cache:clear ..

Now run php artisan serve

Okay, I'll write another instruction, because didn't find the clear answer here. So if you faced such problems, follow this:

  1. Rename or copy/rename .env.example file in the root of your project to .env.

You should not just create empty .env file, but fill it with content of .env.example.

  1. In the terminal go to the project root directory(not public folder) and run

php artisan key:generate

  1. If everything is okay, the response in the terminal should look like this

Application key [base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA=] set successfully.

  1. Now just copy key itself and paste it in your .env file as the value to APP_KEY. Result line should look like this:

APP_KEY=base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA=

  1. In terminal run

php artisan config:cache

That's it.

I found that most answers are incomplete here. In case anyone else is still looking for this:

  1. Check if you have APP_KEY= in your .env, if not just add it without a value.
  2. Run this command: php artisan key:generate. This will fill in the value to the APP_KEY in your .env file.
  3. Finally, run php artisan config:cache in order to clear your config cache and recache your config with the new APP_KEY value.

You can generate Application Encryption Key using this command:

php artisan key:generate

Then, create a cache file for faster configuration loading using this command:

php artisan config:cache

Or, serve the application on the PHP development server using this command:

php artisan serve

That's it!

If you git clone some project then this kind of issue may usually occur.

  1. make sure there is .env file
  2. run php artisan key:generate and then it should generate APP_KEY in .env
  3. finally run php artisan serve and it should be working.

If you don't have a .env file then run the below command, else skip this

cp .env.example .env

Then run the below artisan command and it will generate an application key for your project:

php artisan key:generate

Note: Your APP_KEY is inside your .env file.

If after running php artisan key:generate issue is not resolved, check your .env file.

Search for APP_KEY=.

If it doesn't exist, manually add it to .env file and run php artisan key:generate again.

After this you will see generated key in .env file.

Copy that key and paste it in /config/app.php (search for APP_KEY there as well). You should end up with something like this in app.php file

'key' => env('APP_KEY', 'base64:...'),

Then run php artisan serve (You might have to run php artisan config:cache at some point. Not 100% sure when)

I ran into this issue when I manually copied the contents of my Laravel project (say sites/oldname) into a new directory on my Mac (say, sites/newname). Since I was manually dragging and droppping, it didn't grab the hidden files, namely, '.env'. When I looked more closely at sites/oldname I saw .editorconfig, .env, .env.example, .gitatrributes, .styleci.yml, etc.

The error went away once I copied the hidden files to the new directory.

So, "No Application Encryption Key Has Been Specified" is Laravel speak for "your .env file is missing."

Sometimes If everything Fails Use this:

Goto: laravelProject/config/app.php

Find the line: 'key' => and check to what it refers,

It can either be one of two:

Case 1: env('APP_KEY') Case 2: "somekeystring"

For Case 1: Goto your .env file after you have run cp -a .env.example .env Enter a random string like 10101010101010101010101010101010

Now, run php artisan key:generate

Your key will be updated automatically.

For Case 2: set a random string like for value of Key 10101010101010101010101010101010

Now, run php artisan key:generate

Your key will be updated automatically.

Facing the Same Issue in Laravel v8.49.0 (PHP v8.0.6) Solution
genrate app key

  1. Click

Genrate app key

succesfully genrate key

  1. Click on Refresh now

simply run

php artisan key:generate

its worked for me

Try setting correct file permissions

chmod -R 777 storage/
chmod 777 bootstrap/cache/

I had to restart my queue worker using php artisan queue:restart after running php artisan key:generate to get jobs working.

Related