我试图像这样使用Artisan命令:

php artisan serve

它显示:

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

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

RuntimeException未指定应用加密密钥。

这个问题的原因是什么,如何解决?

我使用Laravel框架5.5-dev。


当前回答

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

php artisan key:generate
php artisan config:cache

其他回答

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

php artisan key:generate

然后

php artisan config:cache

然后

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

然后再运行

php artisan config:cache

执行以下命令设置app key

php artisan key:generate

通过运行上面的命令,它将在你的项目目录的.env中设置键值,该值在应用程序配置中被引用

// .env
APP_KEY=base64:XkrFWC+TGnySY2LsldPXAxuHpyjh8UuoPMt6yy2gJ8U=


// config/app.php
'key' => env(APP_KEY);

重新启动服务器,以反映上述更改。

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

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

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

后藤健二:laravelProject / problem /应用程序。php

找到一行:'key' =>,检查它指的是什么,

它可以是以下两种之一:

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

情况1: 运行cp -a .env后进入你的。env文件。例子.env 输入一个随机字符串,如1010101010101010101010101010101010101010

现在,运行php artisan键:generate

您的密钥将自动更新。

情况2: 设置一个随机字符串,例如Key 10101010101010101010101010101010101010101010101010

现在,运行php artisan键:generate

您的密钥将自动更新。

来自Encryption - Laravel - PHP框架的Web工匠:

在使用Laravel的加密器之前,你必须在你的 Config /app.php配置文件。你应该使用 PHP工匠密钥:生成命令生成此密钥

来自Encryption - Laravel - PHP框架的Web工匠:

"Before using Laravel's encrypter, you must set a key option in your config/app.php configuration file. You should use the php artisan key:generate command to generate this key"

我在google.com上用这个查询找到了它: “laravel添加加密密钥”(是的,即使有打字错误也能工作!)

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