Laravel 5.2:Artisan生成应用密钥的问题

7
我尝试在CentOS 7上安装Laravel 5.2。当我使用控制台命令php artisan key:generate生成应用程序密钥时,应用程序密钥的格式与预期不同(包括base64编码字符串在内的字符数超过32个,因此无法在配置文件中正常工作)。config/app.php中的密码是AES-256-CBC。
示例输出:
[base64:MTs0+UZ0tHljmRcFP1RpZ06aYpc1N1L3rqAx1FT+yqk=]

服务器应该安装所有必需的扩展。

3个回答

0

这是最近对密钥生成器所做的更改。请参见this commit以获取更多信息。

您是否收到了指示密钥无效的错误?


控制台命令php artisan key:generate不会生成错误,并且密钥将自动添加到.env文件中。然而,如果我访问环境,我会得到以下错误:EncryptionServiceProvider.php第45行的RuntimeException:找不到支持的加密器。密码和/或密钥长度无效。 - Fabian
你的密码集是什么?应该是AES-256-CBC。当密码集设置不正确或存储不可写时,我会遇到类似的错误。 - Tom Bird

0

将此代码放入 appServiceProvider.php 文件中

use Illuminate\Support\Facades\Schema;
public function boot()
{
    Schema::defaultStringLength(191);
}

-5

我不知道你是否已经解决了这个问题.. 这是我解决同样问题的方法。

在config/app.php中,从键中删除env()及其括号。

例如。'key' => env('your_key')

应该改为..

'key' => 'your_key'

希望这能帮助到你和其他人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接