Magento 2.3: темандо.КРИТИЧНО: требуется "Идентификатор учетной записи". Войдите и повторите попытку
Я обновляю Magento 2.2.6 до 2.3.1, и у меня есть эта ошибка, в которой я не нашел никакой информации:
Темандо.КРИТИЧНО: требуется "Идентификатор учетной записи". Войдите и повторите попытку. {"исключение": "[объект] (Исключение Magento\Framework\Исключение ввода (код: 0): \"Идентификатор учетной записи\" требуется. Войдите и повторите попытку. в /var/www/сайт/magento/поставщик/magento/фреймворк/Исключение/Исключение ввода.php:91"}[]
Я уже пробовал:
-composer.phar update (in magento root)
-remove -rf var/* generated/* cache/*
-php bin/magento setup:upgrade
-php bin/magento setup:static-content:deploy -f
-php bin/magento setup:di:compile
-sudo -R chmod 777 (in magento root for localhost)
Я этого не делал найдите что-нибудь об этой ошибке, у кого-нибудь было то же самое и он решил ее?
Заранее спасибо.
PS: в случае минуса, пожалуйста, дайте мне знать, почему, чтобы я мог улучшить свой пост.
3 answers
Пожалуйста, выполните следующие команды и повторите попытку:
php bin/magento module:disable Temando_Shipping
rm -rf var/cache/ generated/code pub/static/frontend pub/static/adminhtml
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy -f
php bin/magento setup:di:compile
sudo chmod -R 777 var/ pub/ generated/
Редактировать
Кроме того, удалите атрибуты Temando_Shipping
, добавленные в набор атрибутов после отключения модуля, иначе Magento выдаст ошибку в форме редактирования продукта администратора.
Обновление
При обновлении до Magento 2.3.5p1
модуль Temando_Shipping
будет автоматически удален из Magento.
Вам нужно переключить PHP на 7.2, Magento 2.3.1 работает на PHP 7.2, вы можете использовать что-то вроде Valet plus для управления версиями php.
Вот очень хорошее пошаговое руководство по установке Valet+
Https://davemacaulay.com/the-easiest-way-to-install-magento-2-on-macos-using-valet-plus/
Чтобы удалить ошибку, не отключая модуль, удалите идентификатор ts_packaging_id_модели источника
Через sql
UPDATE `eav_attribute` SET `source_model` = null WHERE `eav_attribute`.`attribute_code` = 'ts_packaging_id';
Или через UpgradeSchema.php (замените пространство имен и увеличьте версию модуля в module.xml)
class UpgradeSchema implements \Magento\Framework\Setup\UpgradeSchemaInterface{
/**
* Eav setup factory
* @var EavSetupFactory
*/
private $eavSetupFactory;
/**
* Init
* @param EavSetupFactory $eavSetupFactory
*/
public function __construct(\Magento\Eav\Setup\EavSetupFactory $eavSetupFactory)
{
$this->eavSetupFactory = $eavSetupFactory;
}
/**
*
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
public function upgrade(\Magento\Framework\Setup\SchemaSetupInterface $setup, \Magento\Framework\Setup\ModuleContextInterface $context)
{
$installer = $setup;
$installer->startSetup();
if (version_compare($context->getVersion(), '1.0.1', '<')) {
$eavSetup = $this->eavSetupFactory->create();
$id = $eavSetup->getAttributeId(
\Magento\Catalog\Model\Product::ENTITY,
'ts_packaging_id'
);
$eavSetup->updateAttribute(
\Magento\Catalog\Model\Product::ENTITY,
$id,
'source_model',
null
);
}
}
}