Працювати в магазині Magento не так легко як для розробників, так і для адмін користувачів, якими б завданнями вони не займалися. І хоча помилки Magento 2 це те, з чим ніколи не хочеться стикатися, ви можете зіткнутися з ними під час встановлення розширень Magento 2, оновлення Magento, створення різних запитів, пов’язаних з продуктом, запуск певного скрипта чи файлу, що не має дозволу на виконання.
Ці помилки в Magento можуть варіюватися від простих до досить складних, що впливають на продуктивність вашого веб-сайту та досвід користувачів. Однак у більшості випадків з ними відносно легко впоратися, якщо ви вчасно виявите, чому вони з’являються.
Отже, ця стаття є поясненням найпоширеніших помилок Magento, з якими ви можете зіткнутися. Знаючи причини і типи помилок ви можете уникнути їх у майбутньому.
Зміст [приховати]
- Помилка Magento 1: Access Denied
- Помилка Magento 2: bash permission denied
- Помилка Magento 3: Internal Server Error 500
- Помилка Magento 4: 503 Service Temporarily Unavailable
- Помилка Magento 5: No such entity
- Помилка Magento 6: Invalid Form Key. Please refresh the page
- Помилка Magento 7: There has been an error processing your request
- Помилка Magento 8: The following modules are outdated
- Помилка Magento 9: Element 'block', attribute 'class' is not accepted by the pattern
- Помилка Magento 10: Module 'Company_Module' from 'app/code/Company/Module' has been already defined in 'vendor/company/module'
- Помилка Magento 11: bin/magento Fatal error: Allowed memory size of xxx bytes exhausted
- Помилка Magento 12: Warning: file_get_contents(): SSL operation failed with code 1.
- Помилка Magento 13: An element with a 'root' ID already exists
- Помилка Magento 14: Package exists in composer repo 1 and composer repo 2 which has a higher repository priority
- Помилка Magento 15: One or more indexers are invalid
- Помилка Magento 16: An error has happened during application run.
- Помилка Magento 17: data-vocabulary.org schema deprecated
Помилка Magento 1: Access Denied
Magento Access Denied HTTP error 403 найчастіше з’являється в адмін панелі Magento. Вона з'являється, коли ви намагаєтеся отримати доступ до сторінки, на яку не маєте дозволу зайти через неправильні облікові дані або роль користувача.
Помилка Magento 2: bash permission denied
Іншою поширеною помилкою в Magento є "bash: bin/magento: Permission denied", з якою стикається кожен розробник під час запуску скрипту або файлу, який не має дозволу на виконання. Виправлення займає приблизно 2 кроки.
Помилка Magento 3: Internal Server Error 500
Magento internal server error — це загальна помилка коду статусу HTTP 500, яка з’являється, коли сервер не може повернути сторінку, яка викликається. Хоча просте перезавантаження сторінки може допомогти, у більшості випадків вам доведеться піти у логи сервера, щоб знайти більше інформації про проблему.
Помилка Magento 4: 503 Service Temporarily Unavailable
Помилка 503 Service Temporarily Unavailable — ще одна поширена помилка в Magento 2, яка може виникнути, коли ви намагаєтесь зайти в адмін панель Magento або на вітрину магазину після встановлення розширень Magento 2 або Magento. Цей текст зазвичай йде за нею:
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later" або "The server is temporarily unable to handle the request". Це означає, що сервер не може миттєво обробити ваш запит або він може бути неправильно налаштований.
Помилка Magento 5: No such entity
Якщо ви спробуєте завантажити неіснуючий об’єкт у Magento 2 Repository Class ви, швидше за все, зіткнетеся з проблемами "No such entity", "No such entity with", або "No such entity with customerId" .
Зазвичай це викликано сторонніми розширеннями Magento. Однак, щоб дізнатись більше, вам доведеться продебажити файл vendor/magento/framework/Exception/NoSuchEntityException.php.
Помилка Magento 6: Invalid Form Key. Please refresh the page
Помилка Magento Invalid Form Key, ймовірно, найчастіше з’являється в адмін панелі Magento та вітрині магазину та можуть мати кілька причин.
Вона з’являється, коли ви оновлюєте Magento, встановлюєте нові розширення, створюєте налаштовувані продукти, додаєте безліч пов’язаних продуктів тощо. Загалом ця помилка Magento виникає, коли ви хочете передати на сервер великий обсяг даних під час надсилання форми.
Через наявність багатьох причин появи повідомлення "Invalid Form Issue" може бути декілька рішень відповідно.
Помилка Magento 7: There has been an error processing your request
"There has been an error processing your request" — одна з найпоширеніших помилок Magento, з якою стикаються під час роботи з Magento. Вона може з’являтися під час встановлення або оновлення Magento, розширень Magento, роботи з налаштуваннями, зміни файлів темплейтів тощо.
Після того, як система видасть цю помилку, друк винятків буде вимкнено з міркувань безпеки (exception printing is disabled for security reasons).
Насправді повідомлення про помилку не говорить вам багато про те, що викликало проблему або з чим вона пов’язана. Але це робить номер помилки в логах.
Помилка Magento 8: The following modules are outdated
Ще однією помилкою, на яку може натрапити розробник Magento 2 є:
The following modules are outdated: Vendor_Module schema: current version - x.x.x, required version - z.z.z
Вона зазвичай виникає у dev environment під час перемикання гілок git. Проте оновлення Magento 2 чи розширення Magento також може стати причиною появи цієї помилки. Та, на щастя, її можна виправити всього у кілька кроків.
Помилка Magento 9: Element 'block', attribute 'class' is not accepted by the pattern
Ви можете зіткнутися з такою помилкою в Magento 2.2.x та вищих версіях. Її зазвичай спричиняють застарілі теми та розширення Magento 2. Однак цю помилку можна виправити, якщо ви знаєте, які файли перевірити та які зміни застосувати.
Помилка Magento 10: Module 'Company_Module' from 'app/code/Company/Module' has been already defined in 'vendor/company/module'
Текст цієї помилки вже пояснює її суть. Вона може виникнути після встановлення або оновлення розширення Magento 2.
Загалом ця помилка означає, що у вас є певне розширення у двох папках, а саме app/code/Company/Module та vendor/company/module. Попри те, що рішення не є складним, не забудьте створити backup перед виправленням помилки.
Помилка Magento 11: bin/magento Fatal error: Allowed memory size of xxx bytes exhausted
Ви можете зіткнутися з цією помилкою під час виконання команди "bin/magento...". Її спричиняє налаштування обмеження пам'яті PHP. Однак її можна вирішити за допомогою однієї команди з певним параметром, що дозволяє запускати PHP без обмежень пам'яті.
Помилка Magento 12: Warning: file_get_contents(): SSL operation failed with code 1.
Під час спроби створити новий обліковий запис користувача, скинути пароль користувача чи увійти до адмін панелі ви можете отримати таку помилку:
Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:
У цьому випадку можна застосувати швидке рішення. Проте воно має свої особливості, які варто врахувати заздалегідь.
Помилка Magento 13: An element with a 'root' ID already exists
Помилку "An element with a 'root' ID already exists" може спричиняти третьостороннє розширення. Воно може викликати методи для page re-rendering.
Тому вам спершу потрібно дослідити помилку і з'ясувати, яке саме розширення її викликає. Після цього у вас буде чіткіше уявлення про те, що потрібно робити далі. Щоб пролити більше світла на подальші кроки, можна спробувати зв'язатися з вендором відповідного розширення.
Помилка Magento 14: Package exists in composer repo 1 and composer repo 2 which has a higher repository priority
Найімовірніше, ви отримаєте цю помилку під час встановлення нових пакунків розширення через composer. Вона пов'язана з тим, що модуль, який ви встановлюєте, знаходиться у двох репозиторіях: стара версія розташована в Magento composer репозиторії, а нова — у безкоштовній публічній репозиторії.
Оскільки репозиторія Magento має вищу пріоритетність, ви отримуєте помилку і не можете завершити встановлення.
Помилка Magento 15: One or more indexers are invalid
Однією з найпоширеніших помилок Magento, з якими можна зіткнутися в адмін панелі є "One or more indexers are invalid". Хоча на перший погляд вона зовсім нешкідлива, її не варто ігнорувати.
Одним із багатьох завдань, за які відповідають Magento 2 cron завдання є виконання reindex. У більшості випадків це відбувається автоматично. Однак ви отримаєте цю помилку, якщо з cron щось не так.
На щастя, помилку можна виправити прямо з адмін панелі або через CLI.
Помилка Magento 16: An error has happened during application run.
Однією з найпоширеніших Magento 2 помилок є "An error has happened during application run. See exception logs for details." Помилка може з'явитися в різних випадках — під час встановлення чи оновлення Magento, чи коли підключення до сервера є неточним або компіляція Magento проходить не надто правильно.
Але саме повідомлення помилки не вказує, що саме пішло не так. Тому вам потрібно дослідити файли exception log в папці var/log для більш детальної інформації.
Помилка Magento 17: data-vocabulary.org schema deprecated
Ви можете виявити помилку "data-vocabulary.org schema deprecated" під час валідації сторінок вебсайту. Вона стосується структурованих даних breadcrumbs. Tочніше, помилка спричинена тим, що Google більше не підтримує схему data-vocabulary.org для структурованих даних. З 6 квітня 2020 року Google використовує schema.org.
Тому, якщо ви ще не оновили breadcrumbs templates на своєму сайті, ви, найімовірніше, отримаєте помилку такого виду. Тож не гайте часу й виправте її, щоб пошукові системи могли краще аналізувати дані вашого веб-сайту.
Magento — це складна система з великою кількістю вбудованих функцій, які можна розширювати або редагувати за допомогою різних третьосторонніх інструментів. Відповідно, керування Magento вимагає від вас регулярного усунення несправностей, щоб знаходити та усувати можливі проблеми вчасно.
Тепер, коли ви знаєте причини найпоширеніших проблем Magento, ви зможете вчасно їх виправити та забезпечити швидшу роботу вашого магазину.
Якщо є якісь помилки Magento, які ми пропустили, повідомте нас у коментарях нижче.