Main > Abyss | Magento > Magento 2.4.2 - Установка и решение проблем

Magento 2.4.2 - Установка и решение проблем

01.07.2021 0 comments » Views: 654

Решил установить и поиграться с последней Magento 2.4.2-p1. Скачал официальную сборку magento-ee-2.4.2-p1_sample_data-2021-04-21-10-14-41.zip с портала партнеров и принялся устанавливать. В процессе, столкнулся с рядом ошибок. О их решении и пойдет речь..

Началось все с напоминания того, что фронтового инсталятора больше нет, поэтому все делаем через боль консоль.

Вспоминать все параметры инсталла не хотелось, поэтому сходил в DevDocs и нашел инструкцию по установке

  • https://devdocs.magento.com/guides/v2.4/install-gde/composer.html

подправил под себя и попробовал запустить

Получил ошибку, о том, что PHP 7.2 уже не подходит. Сходил, обновил знания по  совместимости версий

  • https://devdocs.magento.com/guides/v2.4/install-gde/system-requirements.html

Пришлось установить php7.4 и перенастроить хост. Попробовал снова, и на этот раз оказалось что у меня не установлено расширение soap. Вот оказывается кому он нужен в 21 году 🙂

Опять же в DevDocs нашел список нужны модулей, правда для CentOs. Но не проблема, конвертировал в убунту версии

Подтюнинговал немного команду установки

Следующий запуск уже был получше, но выдало ошибку о том, что не может создать структуру в Elastic-е.

Установил Elastic: Ubuntu: Как установить Elasticsearch 7 для Magento 2.4

После установки натолкнулся на ошибку "magento2_product_1_v2/document/_mapping contains unrecognized parameter"

Оказалось, что у меня висел докер с проброшеным на машину портом 9200, а в нем был Elastic 5.x, и запросы улетали туда, вместо свежеустановленного 7.x. Просто потушил докер и смог продолжить.

Подтюнинговал еще немного команду установки

Далее, столкнулся с ошибкой

Я вспомнил, что я разработчик и хотя мне было лень, все равно пришлось подебажить. Оказалось, что во время импорта сейлс рулов, происходит exception внутри транзакции, что приводит к Rollback-у при коммите транзакции MySQL

Трейс ошибки

Проблему можно увидеть тут

Проблема оказалась в фикстурах, проблемные данные можно отловить тут

  • vendor/magento/module-sales-rule-sample-data/Model/Rule.php [method: install]
  • vendor/magento/module-catalog-rule-sample-data/Model/Rule.php [method: install]

добавив пару проверок

сами фикстуры с данными находятся тут

  • /vendor/magento/module-catalog-rule-sample-data/fixtures/catalog_rules.csv
  • vendor/magento/module-sales-rule-sample-data/fixtures/sales_rules.csv

внутри них есть какие-то переменные, которые должны меняться на значения, но этого не происходит, т.к. функция json_decode не может раскодировать значение полей conditions_serialized и actions_serialized.

Проблемные места в файлах можно найти по тексту "value":%url_key

Я руками подправил два этих файла, чтобы они начали работать, вот они

После этого проблема ушла, но появилась другая: SQLSTATE [42502]: Base table or view not found: 1146 Table design_config_grid_flat doesn't exist, query was: DELETE FROM design_config_grid_flat

Такую ошибку я встречал ранее, и обычно на существующих установках ее решают реиндексом. Но, у нас же она случилось посреди импорта данных, на шаге 1395 из 1846.

Я не стал разбираться и просто создал таблицу до запуска инсталла, предварительно удалив в базе все что было.

После этого, установщик отработал до конца, но все равно с ошибками о SampleData

Я заглянул в логи и увидел следующее

  • var/log/system.log

по всей видимости, все же нужно еще разбираться с тем, что там в фикстурах.

Желания у меня не было, поэтому я решил, что пока и так сойдет, лишь бы запустилось.

И так сойдет

И так сойдет

Фронтенд заработал

Magento 2.4 frontend

Magento 2.4 frontend

Я попробовал войти в админку и система попыталась скинуть мне данные для авторизации по 2FA, но тк sendmail не настроен ничего у нее не получилось

Magento 2.4 двухфакторная аутентификация

Magento 2.4 двухфакторная аутентификация

Mailsend мне пока не нужен, поэтому просто отключил модуль

После этого я смог попасть в админку

Magento 2.4 Админка

Magento 2.4 Админка

К сожалению за всеми этими манипуляциями время быстро пролетело и на игры внутри его не осталось, отложим на другой раз 🙂

Author: | Rating: 4/5 | Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *

Allowed HTML-tags: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>