我试图像这样使用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。
来自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来清除和重置配置。
打开项目根目录下的命令提示符,运行以下命令:
php artisan key:generate
它将为您的应用程序生成应用程序密钥。
您可以在.env文件中找到生成的应用程序密钥(APP_KEY)。
php artisan key:generate
php artisan config:cache
对我来说是可行的,但必须在Windows系统的命令提示符下完成。
在PHPStorm的终端中这样做是行不通的。
你在开发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文件的值。现在您将无法看到此错误消息。
好的,我再写一条指令,因为这里没有找到明确的答案。所以如果你遇到这样的问题,请遵循以下方法:
重命名或复制/重命名.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 artisan serve
就是这样!
如果你克隆了一些项目,这类问题可能会经常发生。
确保有.env文件 运行php artisan key:generate,然后在.env中生成APP_KEY 最后运行PHP工匠服务,它应该工作。
我遇到了这个问题,当我手动复制我的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
然后
如果你得到相同的错误后有key-value,然后只是复制APP_KEY值从。env文件,并粘贴到config/app.php与'key' => 'YOUR key',
然后再运行
php artisan config:cache
有时候如果一切都失败了,用这个:
后藤健二: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
您的密钥将自动更新。
我发现这里的大多数答案都不完整。如果有人还在找这个:
检查你的.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文件中。
如果运行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%确定什么时候)
简单地运行命令php工匠键:生成..问题仍然存在,然后运行一个命令php artisan配置:缓存和php artisan缓存:清除..
现在运行php artisan serve
执行以下命令设置app key
php artisan key:generate
通过运行上面的命令,它将在你的项目目录的.env中设置键值,该值在应用程序配置中被引用
// .env
APP_KEY=base64:XkrFWC+TGnySY2LsldPXAxuHpyjh8UuoPMt6yy2gJ8U=
// config/app.php
'key' => env(APP_KEY);
重新启动服务器,以反映上述更改。