客户的一个网站,突然后台无法登录,查看系统日志为:
[2020-03-31 15:58:23] main.ERROR: Notice: Undefined offset: 2 in /home/customer/www/****/public_html/vendor/magento/framework/Encryption/Encryptor.php on line 590 [] []
解决方案:
1,进入 vendor/magento/framework/Encryption/Encryptor.php
2, 大约165行代码从
public function getLatestHashVersion(): int { if (extension_loaded('sodium') && defined('SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13')) { return self::HASH_VERSION_ARGON2ID13; } return self::HASH_VERSION_SHA256; }
修改为
public function getLatestHashVersion(): int { // if (extension_loaded('sodium') && defined('SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13')) { // return self::HASH_VERSION_ARGON2ID13; // } return self::HASH_VERSION_SHA256; }
方法二,不同的PHP版本对于加密的方法及结果 计算有可能 不一致,如果出现 这个问题是在您更改PHP版本之后,请切换回原来的PHP版本。