我试图像这样使用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后问题没有解决,请检查您的.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 artisan key:generate

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

现在运行php artisan serve

来自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来清除和重置配置。

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

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

分三步:

生成新的密钥php工匠密钥:生成

清除配置php工匠配置:清除

更新缓存php工匠配置:缓存