【问题标题】:Laravel 5.2: Artisan Key Generation for Application Key not working properlyLaravel 5.2:应用程序密钥的 Artisan 密钥生成无法正常工作
【发布时间】:2016-07-17 10:54:28
【问题描述】:

我尝试在 CentOS 7 上设置 Laravel 5.2。当我尝试使用控制台命令 php artisan key:generate 生成应用程序密钥时,应用程序密钥的格式与预期不符(超过 32 个字符,包括 base64 编码字符串,因此在配置文件中不起作用。config/app.php 中的密码是 AES-256-CBC。

示例输出:

[base64:MTs0+UZ0tHljmRcFP1RpZ06aYpc1N1L3rqAx1FT+yqk=]

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

【问题讨论】:

    标签: php laravel configuration key laravel-artisan


    【解决方案1】:

    这是最近对密钥生成器所做的更改。请参阅this commit 了解更多信息。

    您是否收到说明密钥无效的错误消息?

    【讨论】:

    • 控制台命令 php artisan key:generate 不会产生错误,并且密钥会自动添加到 .env 文件中。尽管如此,如果我访问环境,我会得到: EncryptionServiceProvider.php 第 45 行中的 RuntimeException:未找到支持的加密器。密码和/或密钥长度无效。
    • 你的密码设置是什么,应该是AES-256-CBC。当密码设置不正确或存储不可写时,我会遇到类似的错误
    【解决方案2】:

    我不知道你是否解决了这个问题。我也是这样解决的。

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

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

    应该改成..

    'key' => 'your_key'

    我希望这对您和其他人有所帮助。

    【讨论】:

      【解决方案3】:

      把它放在 appServiceProvider.php 中

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

      【讨论】:

        猜你喜欢
        • 2016-05-08
        • 2023-01-28
        • 1970-01-01
        • 2012-12-23
        • 1970-01-01
        • 2021-02-08
        • 1970-01-01
        • 2021-12-10
        • 2015-09-13
        相关资源
        最近更新 更多