未指定应用加密密钥

我是Laravel的新手,我正在尝试使用工匠命令……

php artisan serve

它显示……

Laravel开发服务器启动:http://127.0.0.1:8000

然而,它不会自动启动,当我手动输入http://127.0.0.1:8000时,它会显示以下错误:

RuntimeException未指定应用加密密钥。

什么好主意吗?我使用Laravel框架5.5-dev。

563684 次浏览

加密- Laravel - PHP框架的Web工匠:

"在使用Laravel的加密器之前,您必须在您的 Config /app.php配置文件。你应该使用

. php artisan key:generate命令生成此密钥

我发现在google。com上使用这个复杂的网络查询:

laravel添加加密密钥;(是的,即使有错字,它也能正常工作!)

注意,如果.env文件包含密钥,但你仍然得到一个应用程序密钥错误,然后运行php artisan config:cache来清除和重置配置。

打开项目根目录下的命令提示符,运行以下命令:

php artisan key:generate

它将为您的应用程序生成应用程序密钥。

你可以在.env文件中找到生成的应用程序密钥(APP_KEY)。

如果没有.env文件,

cp .env.example .envphp artisan key:generate命令适用于我。它生成加密密钥

我实际上必须向我的项目添加一个.env文件,然后复制.env.example的内容,以便key:generate可以工作。不确定为什么启动项目时没有创建.env文件。

简单地运行这个命令:

php artisan key:generate
  1. 拷贝.env.example.env:

    cp -a .env.example .env < / p >

  2. 生成密钥:

    php artisan key:generate < / p >

  3. 然后运行:

    php artisan serve < / p >

在我的情况下,我还需要重置缓存的配置文件:

php artisan key:generate
php artisan config:cache
php artisan key:generate
php artisan config:cache

对我来说是可行的,但必须在Windows系统的命令提示符下完成。

在PHPStorm的终端中这样做是行不通的。

你在开发Laravel应用程序时可能遇到的一个常见问题是:

RuntimeException未指定应用加密密钥。

当你下拉一个现有的Laravel应用程序时,你经常会遇到这种情况,你将.env.example文件复制到.env,但不为APP_KEY变量设置值。

在命令行中,发出以下Artisan命令来生成一个密钥:

php artisan key:generate

这将为APP_KEY生成一个随机键,在完成.env编辑后,请在您的终端中输入此命令以清除缓存:php artisan config:cache

此外,如果您使用PHP的默认web服务器(如。php artisan serve)你需要重新启动服务器改变你的.env文件值。现在您将无法看到此错误消息。

好的,我再写一条指令,因为这里没有找到明确的答案。所以如果你遇到这样的问题,请遵循以下方法:

  1. 将项目根目录中的.env.example文件重命名或复制/重命名为.env
你不应该只是创建空的.env文件,而是用 .env.example的内容,

  1. 在终端中进入项目根目录(非公用文件夹)并运行

PHP工匠键:生成

  1. 如果一切正常,终端中的响应应该是这样的

应用密钥[base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA=] 已成功设置。< / p >

  1. 现在只需复制key本身并将其粘贴到.env文件中作为APP_KEY的值。结果行应该是这样的:

APP_KEY = base64: wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =

  1. 终端运行

PHP工匠配置:缓存

就是这样。

生成应用加密密钥使用该命令:

php artisan key:generate

然后,使用此命令创建一个缓存文件,以便更快地加载配置:

php artisan config:cache

或者,使用以下命令在PHP开发服务器上运行应用程序:

php artisan serve

就是这样!

遵循以下步骤:

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

如果你克隆了一些项目,这类问题可能会经常发生。

  1. 确保有.env文件
  2. 运行php artisan key:generate,然后它应该在.env中生成APP_KEY
  3. 最后运行php artisan serve,它应该工作。
当我手动复制我的Laravel项目的内容(说sites/oldname)到我的Mac上的新目录(说sites/newname)时,我遇到了这个问题。由于我手动拖放,它没有抓取隐藏文件,即'.env'。 当我仔细查看sites/oldname时,我看到了.editorconfig, .env, .env。例如,. gitattributes, .styleci。yml等。< / p >

一旦我将隐藏文件复制到新目录,错误就消失了。

因此,“未指定应用程序加密密钥”是Laravel语言中“您的。env文件丢失”的意思。

我必须在运行php artisan key:generate后使用php artisan queue:restart重新启动我的队列工作者以使作业工作。

在项目的根文件夹中打开命令提示符并运行

php artisan key:generate

然后

php artisan config:cache

然后

如果你得到相同的错误后有key-value,然后只是复制APP_KEY值从。env文件,并粘贴到config/app.php与'key' => 'YOUR key',

然后再运行

php artisan config:cache

简单地运行

php artisan key:generate

这对我很管用

有时候如果一切都失败了,用这个:

Goto: laravelProject/config/app.php

找到行:'key' =>并检查它所指的内容,

它可以是以下两种之一:

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

运行cp -a .env.example .env后转到你的.env文件 输入一个随机字符串,如10101010101010101010101010101010

现在,运行php artisan key:generate

您的密钥将自动更新。

为Key 10101010101010101010101010101010

的值设置一个随机字符串

现在,运行php artisan key:generate

您的密钥将自动更新。

我发现这里的大多数答案都不完整。如果有人还在找这个:

  1. 检查你的.env中是否有APP_KEY =,如果没有,只添加它不带值。
  2. 执行命令:PHP工匠键:生成。这将在.env文件中填充APP_KEY的值。
  3. 最后,运行PHP工匠配置:缓存以清除配置缓存并使用新的APP_KEY值重新缓存配置。

分三步:

生成新密钥php artisan key:generate

清除配置php artisan config:clear

更新缓存php artisan config:cache

在Laravel v8.49.0 (PHP v8.0.6)解决方案中面临同样的问题 生成应用程序密钥 < / p >
  1. 点击

生成应用程序密钥

 successful generate key .

  1. 现在点击刷新

如果你没有.env文件,那么运行下面的命令,否则跳过这个

cp .env.example .env

然后运行下面的artisan命令,它将为你的项目生成一个应用程序密钥:

php artisan key:generate

你的APP_KEY在你的.env文件中。

如果运行php artisan key:generate后问题没有解决,检查你的.env文件。

搜索APP_KEY=

如果不存在,手动将其添加到.env文件中,并再次运行php artisan key:generate

在此之后,您将在.env文件中看到生成的密钥。

复制该键并将其粘贴到/config/app.php中(也可以在那里搜索APP_KEY)。你应该在app.php文件中结束这样的内容

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

然后运行php artisan serve(你可能不得不在某些时候运行php artisan config:cache。不是100%确定什么时候)

简单地运行命令PHP工匠键:生成..仍然存在问题,然后再运行一个命令PHP工匠配置:缓存PHP工匠缓存:清除 ..

现在运行PHP工匠服务

尝试设置正确的文件权限

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