gpt4 book ai didi

php - 如何在 Laravel 5 中重新生成 APP_KEY 并设置新密码

转载 作者:搜寻专家 更新时间:2023-10-31 21:57:52 35 4
gpt4 key购买 nike

今天我恢复了我的 Macbook OS Yosemite,但我忘记备份我的 .env 文件,所以我丢失了我的 APP_KEY

现在我所有的密码都失效了,我明白了。所以我这样做:

php artisan key:generate

然后我使用此代码更新所有密码:

Route::get('/', function () {
$users = new Project\DB\User;
$users->update(['password' => Hash::make('newPasswordHere')]);
});

但是当我尝试使用系统更新用户并更改密码时,我无法登录。这是 update($id) 方法的代码:

$user = User::getById($id);

$user->role_id = $request->get('role_id');
$user->first_name = $request->get('first_name');
$user->last_name = $request->get('last_name');
$user->email = $request->get('email');

if ($request->has('password')) {
$user->password = Hash::make($request->get('password'));
}

$user->active = $request->get('active');
$user->update();

我做错了什么?


我的设置

  • Macbook Pro - 优胜美地
  • PHP-FPM - PHP 5.6.11 (cli)(构建时间:2015 年 7 月 19 日 15:15:07)
  • Nginx - nginx 版本:nginx/1.8.0

如果您需要更多信息,请告诉我。

最佳答案

我不认为这是问题所在,但我必须告诉他们真正的原因和解决方案:

在项目开始时,我为 password 属性设置了一个 mutator。

这个修改器反过来已经加密了密码(是的......我知道,我不相信我没有看到它)。

public function setPasswordAttribute($value)
{
$this->attributes['password'] = bcrypt($value);
}

最后,问题的解决方案是 Controller 上没有加密密码:

if ($request->has('password')) {
$user->password = $request->get('password');
}

抱歉,感谢您抽出宝贵时间!

关于php - 如何在 Laravel 5 中重新生成 APP_KEY 并设置新密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31651790/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com