【问题标题】:Laravel 5 Application KeyLaravel 5 应用程序密钥
【发布时间】:2016-02-15 11:56:06
【问题描述】:

我是 Laravel 的新手。我今晚才开始。实际上,我有以下代码:

'key' => env('APP_KEY', 'SomeRandomString'),

xampp/htdocs/laravel/blog/config/app.php中。
我想通过 cmd 将此密钥更改为 32 位:

xampp\htdocs\laravel/blog>php artisan key:generate 

它生成密钥但无法在 xampp/htdocs/laravel/blog/config/app.php 中替换/更新

【问题讨论】:

  • 你有 .env 文件吗?如果有,请检查您是否有钥匙。
  • @Juan Carlos Brown 我从那里得到它,谢谢。
  • 我添加了一个新答案,只是为了强调用户密码。

标签: php laravel laravel-5.1


【解决方案1】:

您的app.php'key' => env('APP_KEY', 'SomeRandomString'), 中的这一行表示您的应用程序的密钥可以在您的.env 文件中的APP_KEY 行中找到。

基本上,它告诉 Laravel 首先在 .env 文件中查找密钥,如果没有,则使用 'SomeRandomString'

当您使用php artisan key:generate 时,它将为您的.env 文件生成新密钥,而不是app.php 文件。

正如 kotapeter 所说,您的 .env 将在您的 Laravel 根目录中,并且可能被隐藏; xampp/htdocs/laravel/博客

【讨论】:

    【解决方案2】:

    您可以通过以下命令生成key

    php artisan key:generate 
    

    密钥将自动写入您的.env 文件中。

    APP_KEY=YOUR_GENERATED_KEY
    

    如果您想在生成后查看您的key,请使用--show 选项

    php artisan key:generate --show
    

    注意:.env 是项目文件夹中的隐藏文件。

    【讨论】:

    • 如果你已经有默认的空行 APP_KEY =,运行命令时行会自动更新
    【解决方案3】:

    如果您只想打印可以使用的密钥(不写入 .env 文件),作为另一种选择:

    php artisan key:generate --show
    

    【讨论】:

    • 这应该是默认的吗?否则,当您键入 php artisan key:generate 时,您不会在(希望是开发)机器中输入密码吗? IE 我们需要 php artisan key:generate --write
    • @TomAndersen 不,APP_KEY 仅用于加密(因此,默认情况下,cookie),不用于密码哈希。我认为tighten.co/blog/app-key-and-you 是一个很好的解释。
    【解决方案4】:

    从线

    'key' => env('APP_KEY', 'SomeRandomString'),
    

    APP_KEY 是一个全局环境变量,存在于.env 文件中。

    触发后可以替换应用密钥

    php artisan key:generate
    

    命令。这将始终生成新密钥。

    输出可能是这样的:


    Application key [Idgz1PE3zO9iNc0E3oeH3CHDPX9MzZe3] set successfully.
    

    Application key [base64:uynE8re8ybt2wabaBjqMwQvLczKlDSQJHCepqxmGffE=] set successfully.
    

    Base64 编码应该是 Laravel 5.4 中的默认编码

    请注意,当您第一次创建 Laravel 应用程序时,会自动调用 key:generate。

    如果您更改密钥,请注意使用Hash::make() 保存的密码将不再有效。

    【讨论】:

    【解决方案5】:

    对我来说,问题在于我还没有为这个新的 project/fork 运行 composer update。命令静默失败,什么也没发生。

    运行composer update 后,它工作了。

    【讨论】:

    • 您的意思可能是composer install。除非您确实想要更新依赖项,否则您不必立即在项目的新分支上运行 composer update
    猜你喜欢
    • 2012-12-23
    • 2016-07-17
    • 2012-10-07
    • 1970-01-01
    • 2012-09-28
    • 2015-11-25
    • 2020-12-10
    • 2016-01-26
    • 1970-01-01
    相关资源
    最近更新 更多