我试图像这样使用Artisan命令:
php artisan serve
它显示:
Laravel开发服务器启动:http://127.0.0.1:8000
但是,它不会自动启动,当我手动输入http://127.0.0.1:8000时,它会显示这个错误:
RuntimeException未指定应用加密密钥。
这个问题的原因是什么,如何解决?
我使用Laravel框架5.5-dev。
我试图像这样使用Artisan命令:
php artisan serve
它显示:
Laravel开发服务器启动:http://127.0.0.1:8000
但是,它不会自动启动,当我手动输入http://127.0.0.1:8000时,它会显示这个错误:
RuntimeException未指定应用加密密钥。
这个问题的原因是什么,如何解决?
我使用Laravel框架5.5-dev。
当前回答
分三步:
生成新的密钥php工匠密钥:生成
清除配置php工匠配置:清除
更新缓存php工匠配置:缓存
其他回答
我发现这里的大多数答案都不完整。如果有人还在找这个:
检查你的.env中是否有APP_KEY=,如果没有,只添加它不带值。 执行如下命令:php artisan key:generate。这将在.env文件中填充APP_KEY的值。 最后,运行php artisan config:cache以清除配置缓存并使用新的APP_KEY值重新缓存配置。
好的,我再写一条指令,因为这里没有找到明确的答案。所以如果你遇到这样的问题,请遵循以下方法:
重命名或复制/重命名.env。项目根目录中的示例文件。env。
你不应该只是创建空的.env文件,而是用 environment .example的内容。
在终端中进入项目根目录(非公用文件夹)并运行
PHP工匠键:生成
如果一切正常,终端中的响应应该是这样的
应用密钥[base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA=] 已成功设置。
现在只需复制key本身并将其粘贴到您的.env文件中作为APP_KEY的值。结果行应该是这样的:
APP_KEY=base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA=
终端运行
PHP工匠配置:缓存
就是这样。
实际上,我必须在我的项目中添加一个。env文件,然后复制。env的内容。示例,这样键:generate就可以工作。不确定为什么启动项目时没有创建.env文件。
你在开发Laravel应用程序时可能遇到的一个常见问题是:
RuntimeException未指定应用加密密钥。
当您下拉一个现有的Laravel应用程序时,您经常会遇到这种情况。示例文件到.env,但不要为APP_KEY变量设置值。
在命令行中,发出以下Artisan命令来生成一个密钥:
php artisan key:generate
这将为APP_KEY生成一个随机键,完成。env编辑后,请在您的终端输入此命令以清除cache:php artisan config:cache
此外,如果您使用PHP的默认web服务器(如。PHP artisan serve)你需要重新启动服务器改变你的.env文件的值。现在您将无法看到此错误消息。
在Laravel v8.49.0 (PHP v8.0.6)解决方案中面临同样的问题
点击
生成应用程序密钥
现在点击刷新