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

php artisan serve

它显示:

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

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

RuntimeException未指定应用加密密钥。

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

我使用Laravel框架5.5-dev。


当前回答

好的,我再写一条指令,因为这里没有找到明确的答案。所以如果你遇到这样的问题,请遵循以下方法:

重命名或复制/重命名.env。项目根目录中的示例文件。env。

你不应该只是创建空的.env文件,而是用 environment .example的内容。

在终端中进入项目根目录(非公用文件夹)并运行

PHP工匠键:生成

如果一切正常,终端中的响应应该是这样的

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

现在只需复制key本身并将其粘贴到您的.env文件中作为APP_KEY的值。结果行应该是这样的:

APP_KEY=base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA=

终端运行

PHP工匠配置:缓存

就是这样。

其他回答

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

php artisan key:generate
php artisan config:cache

分三步:

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

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

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

.env副本。env的示例: Cp -a .env。例子.env 生成一个密钥: PHP工匠键:生成 然后运行: PHP工匠服务

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

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

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

简单地运行

php artisan key:generate

这对我很管用