Symfony 4 - 密码保存在 argon2i 而不是 bcrypt 仅在产品服务器上

Symfony 4 - password saved in argon2i instead of bcrypt only on prod server

在我的 yaml 安全配置文件中:

security:
    encoders:
        App\Entity\Tenant\User:
          algorithm: 'bcrypt'

在我的用户控制器中修改用户编辑页面的密码:

$user->setPassword($passwordEncoder->encodePassword($user,$plain_password));

在我的生产和开发环境中的开发服务器上 work.But 在我的生产服务器上 symfony 在 argon2i 而不是 bcrypt 中转换密码。我不知道为什么....所以在我的数据库中,例如存储的哈希密码是“$argon2i$v=19$m=65536,t=4,p=1$aFRHTC5sQTZESXpOOVlFTA$NZvz/a0EkjL00cf9ZbYzuhiT+nMq13Dvr2Xp/lU78Lc" 而不是 bcrypt。

有人会知道为什么 UserPasswordEncoderInterface 只在我的产品服务器上强制使用 argon2I 而不是在 yaml 安全文件中设置的 bcrypt?

开发服务器:PHP 7.3.12.

产品服务器:PHP 7.3.19

Symfony 4.4.5

编辑: 经过一些其他测试后,密码在开发环境的生产服务器上以 bcrypt 正确编码。 问题只出现在产品环境中...

问题已解决

这是一个缓存问题,我的第一反应是使用命令行'cache:clear --env=prod',但这并没有解决我的问题。为确保我手动删除了产品缓存文件夹。 这解决了问题,密码现在已正确编码为 bcrypt。