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

php artisan serve

它显示:

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

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

RuntimeException未指定应用加密密钥。

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

我使用Laravel框架5.5-dev。


当前回答

在Laravel v8.49.0 (PHP v8.0.6)解决方案中面临同样的问题

点击

生成应用程序密钥

现在点击刷新

其他回答

如果运行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 artisan config:cache

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

php artisan serve

就是这样!

如果你没有.env文件,那么运行下面的命令,否则跳过这个

cp .env.example .env

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

php artisan key:generate

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

cp .env。如果没有。env文件,则使用.env。 PHP工匠的关键:生成命令为我工作。它生成加密密钥

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

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

因此,“未指定应用程序加密密钥”是Laravel语言中“您的。env文件丢失”的意思。