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

php artisan serve

它显示:

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

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

RuntimeException未指定应用加密密钥。

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

我使用Laravel框架5.5-dev。


当前回答

执行以下命令设置app key

php artisan key:generate

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

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


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

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

其他回答

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

php artisan key:generate
php artisan config:cache

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

点击

生成应用程序密钥

现在点击刷新

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

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

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

打开项目根目录下的命令提示符,运行以下命令:

php artisan key:generate

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

您可以在.env文件中找到生成的应用程序密钥(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

您的密钥将自动更新。