我试图像这样使用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 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%确定什么时候)
其他回答
实际上,我必须在我的项目中添加一个。env文件,然后复制。env的内容。示例,这样键:generate就可以工作。不确定为什么启动项目时没有创建.env文件。
我遇到了这个问题,当我手动复制我的Laravel项目的内容(说sites/oldname)到我的Mac上的一个新目录(说sites/newname)。由于我手动拖放,它没有抓取隐藏文件,即'.env'。 当我仔细查看sites/oldname时,我看到了.editorconfig, .env, .env。例如,. gitattributes, .styleci。yml等。
一旦我将隐藏文件复制到新目录,错误就消失了。
因此,“未指定应用程序加密密钥”是Laravel语言中“您的。env文件丢失”的意思。
在我的情况下,我还需要重置缓存的配置文件:
php artisan key:generate
php artisan config:cache
我发现这里的大多数答案都不完整。如果有人还在找这个:
检查你的.env中是否有APP_KEY=,如果没有,只添加它不带值。 执行如下命令:php artisan key:generate。这将在.env文件中填充APP_KEY的值。 最后,运行php artisan config:cache以清除配置缓存并使用新的APP_KEY值重新缓存配置。
遵循以下步骤:
PHP工匠键:生成 PHP工匠配置:缓存 PHP工匠服务