346

我是 Laravel 的新手,我正在尝试使用 Artisan 命令...

php artisan serve

它显示...

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

但是,它不会自动启动,当我手动输入http://127.0.0.1:8000时,它会显示此错误:

RuntimeException 未指定应用程序加密密钥。

有任何想法吗?我正在使用 Laravel 框架 5.5-dev。

4

24 回答 24

580

来自加密 - Laravel - Web Artisans 的 PHP 框架

“在使用 Laravel 的加密器之前,你必须在你的 config/app.php 配置文件中设置一个密钥选项。你应该使用 php artisan key:generate命令来生成这个密钥”

我发现在 google.com 中使用这个复杂的互联网查询:

“laravel add encrption key”(是的,即使有错字也可以使用!)

请注意,如果 .env 文件包含密钥但您仍然收到应用程序密钥错误,则运行php artisan config:cache以清除并重置配置。

于 2017-06-30T06:08:15.210 回答
187

就我而言,我还需要重置缓存的配置文件:

php artisan key:generate
php artisan config:cache
于 2018-01-17T14:20:04.867 回答
60

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

php artisan key:generate

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

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

于 2017-06-30T06:15:54.927 回答
28
  1. 复制.env.example.env

    cp -a .env.example .env

  2. 生成密钥:

    php artisan key:generate

  3. 然后才运行:

    php artisan serve

于 2018-01-10T08:14:00.177 回答
25

只需运行以下命令:

php artisan key:generate
于 2017-09-12T06:18:06.133 回答
17

cp .env.example .env如果不存在 .env 文件。 php artisan key:generate命令对我有用。它生成加密密钥

于 2017-07-23T15:18:10.870 回答
15

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

php artisan key:generate

然后

php artisan config:cache

接着

如果您在获得键值后遇到相同的错误,则只需从 .env 文件中复制 APP_KEY 值并将其粘贴到 config/app.php 并使用 'key' => 'YOUR KEY',

然后再次运行

php artisan config:cache
于 2019-11-23T10:55:08.857 回答
14

实际上,我必须将.env文件添加到我的项目中,然后复制.env.example的内容,这样key:generate才能正常工作。不知道为什么在我开始项目时没有创建.env文件。

于 2017-09-11T15:35:14.923 回答
10

在处理 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文件值。现在您将看不到此错误消息。

于 2018-02-27T10:02:38.677 回答
10
php artisan key:generate
php artisan config:cache

为我工作,但必须在 Windows 的命令提示符下完成。

在 PHPStorm 的终端内执行此操作无效。

于 2018-02-11T19:04:56.690 回答
9

分 3 步:

生成新密钥php artisan key:generate

清除配置php artisan config:clear

更新缓存php artisan config:cache

于 2021-02-04T11:47:01.227 回答
8

请按照以下步骤操作:

  1. php artisan key:generate
  2. php artisan config:cache
  3. php artisan serve
于 2019-02-03T05:10:08.473 回答
5

好的,我再写一条指令,因为这里没有找到明确的答案。因此,如果您遇到此类问题,请按照以下步骤操作:

  1. 将项目根目录中的.env.example文件重命名或复制/重命名为.env

您不应该只创建空的 .env文件,而是用.env.example的内容填充它。

  1. 在终端中转到项目根目录(不是公用文件夹)并运行

php工匠密钥:生成

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

应用程序密钥 [base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA=] 设置成功。

  1. 现在只需复制密钥本身并将其粘贴到您的.env文件中作为 APP_KEY 的值。结果行应如下所示:

APP_KEY=base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA=

  1. 在终端运行

php工匠配置:缓存

而已。

于 2018-07-25T11:49:55.463 回答
4

我发现这里的大多数答案都不完整。如果其他人仍在寻找这个:

  1. 检查您的 .env 中是否有APP_KEY=,如果不只是添加它而不添加值。
  2. 运行这个命令:php artisan key:generate。这会将值填充到 .env 文件中的 APP_KEY 中。
  3. 最后,运行php artisan config:cache以清除您的配置缓存并使用新的 APP_KEY 值重新缓存您的配置。
于 2020-11-02T09:21:15.083 回答
3

您可以使用以下命令生成应用程序加密密钥:

php artisan key:generate

然后,使用以下命令创建缓存文件以加快配置加载:

php artisan config:cache

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

php artisan serve

而已!

于 2018-12-01T10:06:17.310 回答
3

如果你 git clone 一些项目,那么通常可能会出现这种问题。

  1. 确保有.env文件
  2. 运行php artisan key:generate,然后它应该在 .env 中生成APP_KEY
  3. 最后运行php artisan serve,它应该可以工作。
于 2019-03-08T11:20:17.910 回答
2

如果您没有.env文件,请运行以下命令,否则跳过此

cp .env.example .env

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

php artisan key:generate

注意:APP_KEY在您的.env文件中。

于 2021-07-10T07:57:51.263 回答
1

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

去:laravelProject/config/app.php

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

它可以是以下两种之一:

案例一:env('APP_KEY') 案例二:"somekeystring"

对于案例 1:运行后转到您的 .env 文件 cp -a .env.example .env 输入一个随机字符串,例如10101010101010101010101010101010

现在,运行php artisan key:generate

您的密钥将自动更新。

对于案例 2:设置一个随机字符串,例如 Key 的值10101010101010101010101010101010

现在,运行php artisan key:generate

您的密钥将自动更新。

于 2020-09-23T10:14:59.397 回答
1

当我手动将 Laravel 项目的内容(例如站点/旧名称)复制到我的 Mac 上的新目录(例如站点/新名称)中时,我遇到了这个问题。由于我是手动拖放,它没有抓取隐藏文件,即“.env”。当我更仔细地查看站点/旧名称时,我看到了 .editorconfig、.env、.env.example、.gitatrributes、.styleci.yml 等。

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

因此,“未指定应用程序加密密钥”是 Laravel 所说的“您的 .env 文件丢失”。

于 2019-06-05T15:24:54.650 回答
0

在 Laravel v8.49.0 (PHP v8.0.6) 中遇到相同问题的解决方案
生成应用密钥

  1. 点击

生成应用密钥

成功生成密钥

  1. 点击立即刷新
于 2021-07-02T04:44:50.997 回答
0

简单地运行

php artisan key:generate

它对我有用

于 2019-12-27T05:51:28.433 回答
0

如果运行后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% 确定何时)

于 2021-12-29T11:21:45.277 回答
0

只需运行命令php artisan key:generate .. 仍然存在问题,然后再运行一个命令php artisan config:cachephp artisan cache:clear ..

现在运行php artisan serve

于 2022-01-28T11:39:53.290 回答
-1

我必须php artisan queue:restart在运行后重新启动队列工作php artisan key:generate程序才能使工作正常工作。

于 2019-09-16T08:19:26.697 回答