我是Laravel的新手,我试图使用Artisan命令...
php artisan serve
显示......
Laravel开发服务器已启动:http://127.0.0.1:8000
但是,它不会自动启动,当我手动输入http://127.0.0.1:8000时,它会显示以下错误:
RuntimeException未指定应用程序加密密钥。
有什么想法吗?我正在使用Laravel framework 5.5-dev。
答案 0 :(得分:315)
来自Encryption - Laravel - The PHP Framework For Web Artisans:
“在使用Laravel的加密器之前,您必须在您的设备中设置一个关键选项 config / app.php配置文件。你应该使用
php artisan key:generate
命令生成此密钥“
我发现在google.com中使用这个复杂的互联网查询:
“laravel add encrption key”(是的,它甚至可以解决错误!)
答案 1 :(得分:75)
就我而言,我还需要重置缓存的配置文件:
php artisan key:generate
php artisan config:cache
答案 2 :(得分:45)
运行命令php artisan key:generate
它将为您的应用程序生成应用程序密钥。您可以在.env
文件中找到应用程序密钥(APP_KEY)。
答案 3 :(得分:18)
只需运行此命令:
php artisan key:generate
答案 4 :(得分:16)
将.env
复制到cp -a .env.example .env
:
php artisan key:generate
生成密钥:
php artisan serve
然后才开始运行:
{{1}}
答案 5 :(得分:14)
cp .env.example .env
如果没有.env文件。
php artisan key:generate
命令对我有用。它生成加密密钥
答案 6 :(得分:14)
我实际上必须将 .env 文件添加到我的项目中,然后复制 .env.example 的内容,以便key:generate
可以正常工作。我不知道为什么在启动项目时没有创建 .env 文件。
答案 7 :(得分:11)
php artisan key:generate
php artisan config:cache
为我工作,但必须在Windows上的命令提示符下完成。
在PHPStorm的终端内部进行此操作无效。
答案 8 :(得分:9)
使用Laravel应用程序时可能遇到的一个常见问题是例外:
RuntimeException未指定应用程序加密密钥。
当您下拉现有的Laravel应用程序时,您经常遇到此问题,您将.env.example
文件复制到.env
但不为APP_KEY
变量设置值
在命令行中,发出以下Artisan命令以生成密钥:
php artisan key:generate
这将生成APP_KEY
的随机密钥,完成.env
编辑后,请在终端中输入此命令以清除缓存:php artisan config:cache
此外,如果您使用的是PHP的默认Web服务器(例如php artisan serve
),则需要重新启动服务器更改.env
文件值。现在你不会看到这个错误信息。
答案 9 :(得分:6)
分三步:
生成新密钥 php artisan key:generate
清除配置 php artisan config:clear
更新缓存 php artisan config:cache
答案 10 :(得分:4)
请按照以下步骤操作:
error: this type is final, so it cannot be inherited from
class TestB : TestA {
^
basic.kts:39:15: error: this type has a constructor, and thus must be initialized here
php artisan key:generate
php artisan config:cache
答案 11 :(得分:4)
好的,我还要写一条指令,因为在这里找不到明确的答案。因此,如果您遇到此类问题,请按照以下步骤操作:
您不仅应该创建一个空的 .env 文件,而且还要用 .env.example 的内容。
php artisan key:generate
应用程序密钥[base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =] 设置成功。
APP_KEY = base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =
php artisan config:cache
就是这样。
答案 12 :(得分:3)
您可以使用以下命令生成应用程序加密密钥:
box_open(x-1)
然后,使用以下命令创建一个缓存文件以更快地加载配置:
php artisan key:generate
或者,使用以下命令在PHP开发服务器上提供应用程序:
php artisan config:cache
就是这样!
答案 13 :(得分:0)
如果您git clone某个项目,则通常可能会发生这种问题。
.env
个文件php artisan key:generate
,然后它应该在.env php artisan serve
,它应该可以正常工作。答案 14 :(得分:0)
当我手动将Laravel项目的内容(例如,sites / oldname)复制到Mac上的新目录(例如,sites / newname)时,遇到了这个问题。由于我是手动拖放,因此它没有抓取隐藏文件,即“ .env”。 当我更仔细地查看站点/旧名称时,我看到了.editorconfig,.env,.env.example,.gitatrributes,.styleci.yml等。
将隐藏文件复制到新目录后,错误消失了。
因此,Laravel表示“未指定应用程序加密密钥”,表示“您的.env文件丢失。”
答案 15 :(得分:0)
在运行php artisan queue:restart
后,我不得不使用php artisan key:generate
重新启动队列工作器以使工作正常工作。
答案 16 :(得分:0)
在项目的根文件夹中打开命令提示符,然后运行
php artisan key:generate
比
php artisan config:cache
并且比
拥有键值之后,直到从.env文件中复制该APP_KEY值并将其粘贴到config / app.php中,并使用'key'=>'YOUR KEY',
然后再次运行
php artisan config:cache
答案 17 :(得分:0)
简单运行
php artisan key:generate
它为我工作
答案 18 :(得分:0)
就我而言,从git克隆项目时没有.env
文件。因此,我从源项目中复制了.env
文件,并粘贴到当前项目中,并更改了其数据库配置,该文件成功运行。
答案 19 :(得分:0)
有时候如果一切都失败了,请使用此:
转到:laravelProject/config/app.php
找到以下行:'key' =>
并检查其含义,
它可以是以下之一:
情况1:env('APP_KEY')
情况2:"somekeystring"
对于情况1:
运行cp -a .env.example .env
后转到您的.env文件
输入随机字符串,例如10101010101010101010101010101010
现在,运行php artisan key:generate
您的密钥将自动更新。
对于情况2:
设置一个类似于字符串10101010101010101010101010101010
现在,运行php artisan key:generate
您的密钥将自动更新。
答案 20 :(得分:0)
我发现这里大多数答案都不完整。如果其他人仍在寻找这个东西:
答案 21 :(得分:0)
答案 22 :(得分:0)
如果您没有 function getLastPathSegment($url) {
$arr = explode('/', $url);
return $arr[count($arr) - 1];
}
文件,请运行以下命令,否则跳过此
.env
然后运行以下 artisan 命令,它将为您的项目生成一个应用程序密钥:
cp .env.example .env
注意:您的 php artisan key:generate
在您的 APP_KEY
文件中。