我试图像这样使用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。
当前回答
我遇到了这个问题,当我手动复制我的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
对我来说是可行的,但必须在Windows系统的命令提示符下完成。
在PHPStorm的终端中这样做是行不通的。
简单地运行命令php工匠键:生成..问题仍然存在,然后运行一个命令php artisan配置:缓存和php artisan缓存:清除..
现在运行php artisan serve
我发现这里的大多数答案都不完整。如果有人还在找这个:
检查你的.env中是否有APP_KEY=,如果没有,只添加它不带值。 执行如下命令:php artisan key:generate。这将在.env文件中填充APP_KEY的值。 最后,运行php artisan config:cache以清除配置缓存并使用新的APP_KEY值重新缓存配置。
如果你没有.env文件,那么运行下面的命令,否则跳过这个
cp .env.example .env
然后运行下面的artisan命令,它将为你的项目生成一个应用程序密钥:
php artisan key:generate
注意:你的APP_KEY在你的.env文件中。
来自Encryption - Laravel - PHP框架的Web工匠:
在使用Laravel的加密器之前,你必须在你的 Config /app.php配置文件。你应该使用 PHP工匠密钥:生成命令生成此密钥
来自Encryption - Laravel - PHP框架的Web工匠:
"Before using Laravel's encrypter, you must set a key option in your config/app.php configuration file. You should use the php artisan key:generate command to generate this key"
我在google.com上用这个查询找到了它: “laravel添加加密密钥”(是的,即使有打字错误也能工作!)
请注意,如果.env文件包含密钥,但您仍然得到一个应用程序密钥错误,然后运行php artisan config:cache来清除和重置配置。