未指定任何应用程序加密密钥

时间:2017-06-30 06:06:48

标签: php laravel laravel-5 laravel-5.5 artisan

我是Laravel的新手,我试图使用Artisan命令...

php artisan serve

显示......

  

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

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

  

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

有什么想法吗?我正在使用Laravel framework 5.5-dev。

23 个答案:

答案 0 :(得分:315)

来自Encryption - Laravel - The PHP Framework For Web Artisans

  

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

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

“laravel add encrption key”(是的,它甚至可以解决错误!)

答案 1 :(得分:75)

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

php artisan key:generate
php artisan config:cache

答案 2 :(得分:45)

运行命令php artisan key:generate它将为您的应用程序生成应用程序密钥。您可以在.env文件中找到应用程序密钥(APP_KEY)。

答案 3 :(得分:18)

只需运行此命令:

php artisan key:generate

答案 4 :(得分:16)

  1. .env复制到cp -a .env.example .env

    php artisan key:generate

  2. 生成密钥:

    php artisan serve

  3. 然后才开始运行:

    {{1}}

答案 5 :(得分:14)

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

答案 6 :(得分:14)

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

答案 7 :(得分:11)

php artisan key:generate
php artisan config:cache

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

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

答案 8 :(得分:9)

使用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文件值。现在你不会看到这个错误信息。

答案 9 :(得分:6)

分三步:

生成新密钥 php artisan key:generate

清除配置 php artisan config:clear

更新缓存 php artisan config:cache

答案 10 :(得分:4)

请按照以下步骤操作:

  1. error: this type is final, so it cannot be inherited from class TestB : TestA { ^ basic.kts:39:15: error: this type has a constructor, and thus must be initialized here
  2. php artisan key:generate
  3. php artisan config:cache

答案 11 :(得分:4)

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

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

您不仅应该创建一个空的 .env 文件,而且还要用    .env.example 的内容。

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

php artisan key:generate

  1. 如果一切正常,终端中的响应应如下所示
  

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

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

APP_KEY = base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =

  1. 在终端运行中
  

php artisan config:cache

就是这样。

答案 12 :(得分:3)

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

box_open(x-1)

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

php artisan key:generate

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

php artisan config:cache

就是这样!

答案 13 :(得分:0)

如果您git clone某个项目,则通常可能会发生这种问题。

  1. 确保有.env个文件
  2. 运行php artisan key:generate,然后它应该在.env
  3. 中生成 appkey
  4. 最终运行php artisan serve,它应该可以正常工作。

答案 14 :(得分:0)

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

将隐藏文件复制到新目录后,错误消失了。

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

答案 15 :(得分:0)

在运行php artisan queue:restart后,我不得不使用php artisan key:generate重新启动队列工作器以使工作正常工作。

答案 16 :(得分:0)

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

php artisan key:generate

php artisan config:cache

并且比

拥有键值之后,直到从.env文件中复制该APP_KEY值并将其粘贴到config / app.php中,并使用'key'=>'YOUR KEY',

然后再次运行

php artisan config:cache

答案 17 :(得分:0)

简单运行

php artisan key:generate

它为我工作

答案 18 :(得分:0)

就我而言,从git克隆项目时没有.env

文件。因此,我从源项目中复制了.env文件,并粘贴到当前项目中,并更改了其数据库配置,该文件成功运行。

答案 19 :(得分:0)

有时候如果一切都失败了,请使用此:

转到:laravelProject/config/app.php

找到以下行:'key' =>并检查其含义,

它可以是以下之一:

情况1:env('APP_KEY') 情况2:"somekeystring"

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

现在,运行php artisan key:generate

您的密钥将自动更新。

对于情况2: 设置一个类似于字符串10101010101010101010101010101010

的值的随机字符串

现在,运行php artisan key:generate

您的密钥将自动更新。

答案 20 :(得分:0)

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

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

答案 21 :(得分:0)

Laravel v8.49.0 (PHP v8.0.6) 遇到同样问题的解决方案
genrate app key

  1. 点击
<块引用>

生成应用密钥

succesfully genrate key

  1. 点击立即刷新

答案 22 :(得分:0)

如果您没有 function getLastPathSegment($url) { $arr = explode('/', $url); return $arr[count($arr) - 1]; } 文件,请运行以下命令,否则跳过此

.env

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

cp .env.example .env

注意:您的 php artisan key:generate 在您的 APP_KEY 文件中。