Я выполнил миграцию Magento 1 на Magento 2.3.0, все хорошо, но когда я создаю форму клиента для обеих сторон (фронт и админ), у меня появляется ошибка, связанная с расшифровкой, даже я не могу редактировать клиента, когда я нажимаю на кнопку сохранения. ,
Ниже ошибка:
Неустранимая ошибка: Uncaught TypeError: Возвращаемое значение Magento \ Framework \ Encryption \ Adapter \ SodiumChachaIetf :: decrypt () должно быть строки типа, логическое значение возвращается в public_html / vendor / magento / framework / Encryption / Adapter / SodiumChachaIetf.php: 68 Трассировка стека: # 0 public_html / vendor / magento / framework / Encryption / Encryptor.php (358): Magento \ Framework \ Encryption \ Adapter \ SodiumChachaIetf-> decrypt ('"\ x10 \ x88 \ x8E \ xB5 \ x851; H \ XB1 \ x12 \ xE1aaP ... ')
# 1 /public_html/vendor/dotmailer/dotmailer-magento2-extension/Helper/Data.php(744): Magento \ Framework \ Encryption \ Encryptor-> decrypt ('IhCIjrWFMTtIsRL ...')
# 2 /public_html/vendor/dotmailer/dotmailer-magento2-extension/Helper/Data.php(203): Dotdigitalgroup \ Email \ Helper \ Data-> getApiPassword (объект (Magento \ Store \ Model \ Website \ Interceptor))
# 3 public_html / vendor / dotmailer / dotmailer-magento2-extens в /public_html/vendor/magento/framework/Encryption/Adapter/SodiumChachaIetf.php в строке 68
источник
Похоже, вы используете не тот ключ шифрования.
Вы должны сохранить ключ от конфигурации предварительного просмотра:
app / etc / local.xml [Magento 1.x]
И замените новый в новом проекте:
app / etc / env.php [Magento 2.x]
Источник: https://github.com/magento/magento2/issues/19590
источник
Модификация базового класса вообще не рекомендуется. Вопрос не с классом
vendor/magento/framework/Encryption/Adapter/SodiumChachaIetf.php
Но проблема с ключом шифрования добавлена к вашему
app/etc/env.php
Причиной этой проблемы является несоответствие ключа шифрования. Вы, должно быть, взяли дамп базы данных из любого другого экземпляра и пытаетесь запустить его с текущим экземпляром. Таким образом, наряду с базой данных вам необходимо получить ключ шифрования из той же установки, откуда вы получили дамп базы данных .
Просто обновите ключ шифрования в env.php, и он будет работать нормально.
Исправление состоит в том, чтобы использовать тот же ключ шифрования установки, откуда используется БД.
Надеюсь, это объяснено.
Отметьте меня, если было полезно. Удачного кодирования .. !!
источник
Перейти к этому файлу:
И обновите ниже код:
Просто измените тип возвращаемого значения функции:
в
источник
Еще к вашему сведению еще в 2.3 развиваю ветку.
https://github.com/magento/magento2/blob/2.3-develop/lib/internal/Magento/Framework/Encryption/Adapter/SodiumChachaIetf.php
Официальное исправление magento это
источник