Php Bcrypt在Lumen 5.4中不工作:调用未定义的函数Bcrypt()
我创建了一个新的Lumen 5.4项目,并尝试植入一些数据。在播种机中,我使用bcrypt散列密码。但是,当我运行Php Bcrypt在Lumen 5.4中不工作:调用未定义的函数Bcrypt(),php,lumen,Php,Lumen,我创建了一个新的Lumen 5.4项目,并尝试植入一些数据。在播种机中,我使用bcrypt散列密码。但是,当我运行php-artisan-db:seed时,会出现以下错误: Call to undefined function bcrypt() 为什么我不能在内腔中使用bcrypt?我以前在Laravel中使用过它。您可以尝试: app('hash')->make('yourpassword'); 正如您所提到的,bcrypt()在内腔中不存在。作为另一种解决方法,由于您提到在Lume
php-artisan-db:seed
时,会出现以下错误:
Call to undefined function bcrypt()
为什么我不能在内腔中使用bcrypt?我以前在Laravel中使用过它。您可以尝试:
app('hash')->make('yourpassword');
正如您所提到的,
bcrypt()
在内腔中不存在。作为另一种解决方法,由于您提到在Lumen中进行种子设定,您可以在\Faker\Generator中使用此密码:
$faker->password
试着这样做
'password' => password_hash('123456', PASSWORD_BCRYPT)
另一种解决方案是使用Facades\Hash
use Illuminate\Support\Facades\Hash;
代码
试试看,我可以在我的项目中做得很好
function bcrypt($value, $options = [])
{
return app('hash')->make($value, $options);
}
没错,这或多或少是bcrypt实现的一种变通方法,但为什么不直接使用它呢?我真的不知道,但我知道的是
bcrypt()
在其源代码中返回这个return-app('hash')->make($value,$options)代码>好的,谢谢!可能值得补充的是,这是一项工作,因此人们会意识到这一点。是否有任何方法可以获取哈希键。事实上,我接管了某人的项目,现在又出现了同样的错误,而之前的开发人员没有响应。我知道什么是加密密钥生成的,因为我可以访问数据库。是的,所以您将不知道生成的密码,并且无法使用生成的用户测试脚本。不。@Sergiu有许多用例,您不打算使用生成的用户登录;我认为这是一个可行的选择,尤其是在这些情况下。所问的问题实际上没有限制使用生成的用户测试脚本的需要,因此这种方法是有效的。我不同意,在测试/开发环境中,出于明显的原因,对所有用户使用相同的密码始终是一种好的做法。在生产环境中,您不会使用Faker。此答案将标记为低质量。请提供更多信息。请对此答案提供更多信息。此外,对我来说,这似乎不是问题的真正解决方案,只是“让它运行”的快速解决方法。选项中应该包括什么?
function bcrypt($value, $options = [])
{
return app('hash')->make($value, $options);
}