我是Laravel的新手,我正在尝试使用Artisan命令......
php artisan serve
它显示......
Laravel开发服务器启动:http://127.0.0.1:8000
但是,它不会自动启动,当我手动输入http://127.0.0.1:8000时,它会显示以下错误:
RuntimeException未指定应用程序加密密钥。
有任何想法吗?我正在使用Laravel framework 5.5-dev。
来自Encryption - Laravel - The PHP Framework For Web Artisans:
“在使用Laravel的加密器之前,必须在config / app.php配置文件中设置一个关键选项。您应该使用
php artisan key:generate
命令生成此密钥”
我发现在google.com上使用这个复杂的互联网查询:
“laravel添加加密密钥”(是的,它甚至与错字一起工作!)
请遵循以下步骤:
php artisan key:generate
php artisan config:cache
php artisan serve
好的,我会写另一条指令,因为这里找不到明确的答案。因此,如果您遇到此类问题,请按照以下步
您不应该只创建空的.env文件,而是使用.env.example的内容填充它。
php artisan key:generate
应用程序密钥[base64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =]设置成功。
APP_KEY = BASE64:wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =
php artisan config:cache
而已。
您可以使用以下命令生成应用程序加密密钥:
php artisan key:generate
然后,使用以下命令创建缓存文件以加快配置加载:
php artisan config:cache
或者,使用以下命令在PHP开发服务器上提供应用程序:
php artisan serve
而已!
如果你克隆一些项目,那么通常会出现这种问题。
.env
文件php artisan key:generate
然后它应该在.env中生成appkeyphp artisan serve
它应该工作。当我手动将我的Laravel项目(例如sites / oldname)的内容复制到我的Mac上的新目录(例如,sites / newname)时,我遇到了这个问题。由于我是手动拖放,它没有抓取隐藏文件,即'.env'。当我更仔细地查看sites / oldname时,我看到了.editorconfig,.env,.env.example,.gitatrributes,.styleci.yml等。
将隐藏文件复制到新目录后,错误就消失了。
因此,“没有指定应用程序加密密钥”是Laravel代表“您的.env文件丢失”。
在我的情况下,我还需要重置缓存的配置文件:
php artisan key:generate
php artisan config:cache
在项目的根文件夹中打开命令提示符并运行以下命令:
php artisan key:generate
它将为您的应用程序生成应用程序密钥。
您可以在.env
文件中找到生成的应用程序密钥(APP_KEY)。
只需运行此命令:
php artisan key:generate
.env.example
复制到.env
:
cp -a .env.example .env
php artisan key:generate
php artisan serve
我实际上必须将.env文件添加到我的项目中,然后复制.env.example的内容,以便key:generate
可以工作。我不确定为什么在启动项目时没有创建.env文件。
如果没有.env文件,cp .env.example .env
。 php artisan key:generate
命令对我有用。它生成加密密钥
php artisan key:generate
php artisan config:cache
为我工作,但它必须在Windows上的命令提示符下完成。
在PHPStorm的终端内部进行此操作无效。
在处理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
文件值。现在你不会看到这个错误信息。