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

问题描述 投票:179回答:14

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

php artisan serve

它显示......

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

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

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

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

php laravel laravel-5 laravel-5.5 artisan
14个回答
331
投票

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

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

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

“laravel添加加密密钥”(是的,它甚至与错字一起工作!)


6
投票

请遵循以下步骤:

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

4
投票

好的,我会写另一条指令,因为这里找不到明确的答案。因此,如果您遇到此类问题,请按照以下步

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

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

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

php artisan key:generate

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

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

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

APP_KEY = BASE64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =

  1. 在终端运行中

php artisan config:cache

而已。


3
投票

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

php artisan key:generate

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

php artisan config:cache

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

php artisan serve

而已!


0
投票

如果你克隆一些项目,那么通常会出现这种问题。

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

0
投票

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

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

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


82
投票

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

php artisan key:generate
php artisan config:cache

46
投票

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

php artisan key:generate

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

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


19
投票

只需运行此命令:

php artisan key:generate

16
投票
  1. .env.example复制到.envcp -a .env.example .env
  2. 生成密钥: php artisan key:generate
  3. 然后运行: php artisan serve

14
投票

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


14
投票

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


11
投票
php artisan key:generate
php artisan config:cache

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

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


11
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.