Сторінка 2 - Виправлення помилок
Якщо ви використовуєте Magento 2 і отримуєте таку помилку:
Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:
error:14095126:SSL routines:ssl3_read_n:unexpected eof while reading in ven dor/google/recaptcha/src/ReCap tcha/RequestMethod/Post.php on line 72
Trace:
<pre>#1 file_get_contents() called at [vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Post.ph p:72]
#2 ReCaptcha\RequestMethod\Post->submit() called at [vendor/google/recaptcha/src/R eCaptcha/ReCaptcha.php:156]
#3 ReCaptcha\ReCaptcha->verify() called at [app/code/MSP/ReCaptcha/Model/Validate.php:79]
#4 MSP\ReCaptcha\Model\Validate->validate() called at [app/code/MSP/ReCaptcha/Observ er/ReCaptchaObserver.php:93]
#5 MSP\ReCaptcha\Observer\ReCaptchaObserver->execute() called at [vendor/magento/framework/Even t/Invoker/InvokerDefault.php: 72]
#6 Magento\Framework\Event\Invoker\InvokerDefault->_callObserve rMethod() called at [vendor/magento/framework/Even t/Invoker/InvokerDefault.php: 60]
...
намагаючись ввійти в адмін панель, встановити новий пароль користувача, створити новий обліковий запис користувача тощо, ви можете швидко виправити ситуацію. Для цього виконайте наведені нижче дії:
У Magento 2 Блог v2.9.3 ми додали функцію, про яку запитували багато клієнтів, це «використання шаблону пов'язаних продуктів із каталогу за замовчуванням» (default catalog related products template) замість кастомного шаблону пов'язаних продуктів блогу. Це допомагає автоматично відображати пов'язані продукти на сторінці публікації блогу в дизайні теми. Коміт (commit), пов'язаний з цією зміною, можна знайти на GitHub.
На жаль, для Magento 2 існує тисячі тем і деякі з них мають специфічні JS та CSS (наприклад, тема Porto). Ось чому, якщо ви використовуєте розширення Blog 2.9.3 або новішої версії і блок пов'язаних продуктів виглядає дивно, спробуйте зробити наступне:
1. Створіть новий файл у каталозі своєї теми:
app/design/frontend/ThemeVendor/themename/Magefan_Blog/layout/blog_post_view.xml
2. Додайте до нього цей код:
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
Сьогодні (12 лютого 2020 р.) Ми отримали повідомлення про потенційну проблему безпеки в нашому модулі Magento 2 Login As Customer завдяки твіту Даніеля Слофа.
Переглядаючи код та спілкуючись з Дерріком Хісбіном, Льюїс Вонкен з сайту experus.nl виявив проблему в безпеці.
Зауважте, що дотепер жодної підтвердженої атаки, пов’язаної з цією проблемою, не відбулося, однак зловмисники потенційно могли увійти до облікового запису користувача за мінімальний проміжок часу після того, як адмін натиснув кнопку «Увійти як користувач» в адмін панелі та до того, як адмін був перенаправлений на вітрину магазину та фактично ввійшов в цей акаунт.
Час дійсно важливий для відтворення цієї проблеми. Проблема безпеки може виникнути у всіх версіях модуля Login as Customer до версії 2.2.3 протягом декількох секунд після натискання кнопки "Увійти як користувач".
Ми закликаємо всіх, хто використовує розширення Login As Customer v2.0.0 - v2.2.2, оновити його принаймні до v2.2.3 або застосувати це швидке виправлення
Бувають випадки, коли бічна панель Magento відсутня і не відображається. Найімовірніше, це через те, що контейнер "sidebar" або "sidebar.additional" видалено з макету вашої теми.
Якщо пошук у Magento 2 Блог не працює, швидше за все, проблема полягає у вашій темі, яка переписує оригінальні шаблони блогу та файли макету.
Спробуйте виконати наступні дії щоб виправити проблему з пошуком у блозі:
1. Переконайтеся, що у вас остання версія модуля блогу Magento 2.
2. Спробуйте тимчасово видалити один за одним макет файлів XML та шаблонні файли PHTML зі своєї теми та запустіть static content deploy. Знайшовши файл, який викликає проблему, зверніть на нього увагу.
3. Перевірте, чи кнопка пошуку блогу у бічній панелі має атрибут "вимкнено", якщо так, то він відключений (неактивний), і це може бути коренем проблеми. У цьому випадку знайдіть код, який вимикає його. Вимкнений атрибут можна додати безпосередньо через .phtml файл у вашій темі або за допомогою JavaScript. Якщо ви не можете його знайти, ви можете вставити цей скрипт JS, щоб відключити кнопку:
<script>
require(['jquery', 'domReady!'], function($) {
setInterval(function(){
$('#blog_search_mini_form
Примітка: якщо ви придбали розширення на Magento Marketplace (маєте платне замовлення) і не можете знайти ключ продукту, зв’яжіться з нами та надайте номер свого замовлення.
Рішення для Magento 2 Community Edition (CE / Open Source)
Якщо з’являється повідомлення про помилку "Product Key is empty or invalid. The extension has been automatically disabled." зберігаючи розширення Magefan у Magento Community і не бачачи жодного поля ключа продукту, як на скріншоті:
Іноді замість реальної IP-адреси користувача в адмін панелі Magento 2 ви можете побачити 127.0.0.1 або іншу неправильну IP-адресу. Це може бути пов’язано з проксі-серверами, такими як Varnish, Cloudflare, які можуть бути включеними для вашого магазину Magento 2.
Щоб вирішити проблему з неправильною IP-адресою, потрібно:
1. Створити новий файл у каталозі M2:
app/etc/XIP/di.xml
2. Вставити цей код:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Framework\HTTP\PhpEnvironment\RemoteAddress">
<arguments>
<argument name="alternativeHeaders" xsi:type="array">
<item name="x-client-ip" xsi:type="string">HTTP_X_REAL_IP</item>
<item name="x-cf-connecting-ip" xsi:type="string">HTTP_CF_CONNECTING_IP</item>
<!-- <item name="x-cf-mfcustom-ip" xsi:type="string">SOME_CUSTOM_SERVER_KEY</item> -->
</argument>
</arguments>
Коли ви виконуєте CLI команду Magento 2 "bin/magento ..." і отримуєте помилку:
Allowed memory size of xxxx bytes exhausted (tried to allocate xxx bytes)
Ви можете легко виправити це використавши настпуну команду замість bin/magento:
php -dmemory_limit=-1 bin/magento ....
Якщо ви встановили або оновили розширення Magento 2 і отримали повідомлення про помилку, напр.:
Module 'Company_Module' from 'app/code/Company/Module' has been already defined in 'vendor/company/module'.
це означає, що у вас є 2 версії розширення:
1) в папці app/code/Company/Module
2) в папці vendor/company/module
У папці vendor Magento зберігає всі компоненти (розширення, теми, мовні пакети), встановлені за допомогою композера (composer).
Оскільки встановлення або оновлення розширень за допомогою композера є кращим, вам потрібно видалити папку розширення app/code/Company/Module (будь ласка, не забувайте про резервну копію перед видаленням) і запустити інсталяційні команди.
Якщо ви використовуєте Magento версії 2.2.x або новіше та отримуєте повідомлення про помилку:
1 exception(s): Exception #0 (Magento\Framework\Config\Dom\ValidationException): Element 'block', attribute 'class': [facet 'pattern'] The value '\Magento\Framework\View\Element\Text\ListText' is not accepted by the pattern '[A-Z][_a-zA-Z\d]*(\\[A-Z][_a-zA-Z\d]*)*'. Line: 982 Element 'block', attribute 'class': '\Magento\Framework\View\Element\Text\ListText' is not a valid value of the atomic type 'blockClassType'. Line: 982 Exception #0 (Magento\Framework\Config\Dom\ValidationException): Element 'block', attribute 'class': [facet 'pattern'] The value '\Magento\Framework\View\Element\Text\ListText' is not accepted by the pattern '[A-Z][_a-zA-Z\d]*(\\[A-Z][_a-zA-Z\d]*)*'. Line: 982 Element 'block', attribute 'class': '\Magento\Framework\View\Element\Text\ListText' is not a valid value of the atomic type 'blockClassType'. Line: 982
вам потрібно перевірити всі файли макету у вашій темі та кастомних розширеннях, вони можуть містити код, наприклад:
Якщо ви отримуєте повідомлення про помилку "No such entity.", "No such entity with" або "No such entity with customerId" в Magento 2, проблема зазвичай виникає під час спроби завантажити неіснуючий об'єкт за допомогою класу сховища Magento 2.
Щоб вирішити цю поширену помилку в Magento, відкрийте файл
vendor/magento/framework/Exception/NoSuchEntityException.php
Коли ви оновлюєте Magento 2, розширення Magento або перемикаєте гілки git на своєму сайті, що перебуває на стадії розробки (dev environment), іноді ви можете отримати помилку:
The following modules are outdated: Vendor_Module schema: current version - x.x.x, required version - z.z.z
Щоб виправити цю помилку будь ласка зробить наступне:
1. Спробуйте отримати найновіший код розширення. Запустіть CLI команду у кореневому каталозі Magento:
composer install
Якщо у вас виникають проблеми із запуском цієї команди, просто пропустіть її та перейдіть до 2-го кроку.
2. Спробуйте оновити базу даних. Запустити CLI команду:
php bin/magento setup:upgrade
Якщо ви використовуєте Magento 2.2.x і отримуєте наступну помилку:
1 exception(s):
Exception #0 (Magento\Framework\Config\Dom\ValidationException): Element 'block', attribute 'class': [facet 'pattern'] The value '\Magento\Framework\View\Element\Text\ListText' is not accepted by the pattern '[A-Z][_a-zA-Z\d]*(\\[A-Z][_a-zA-Z\d]*)*'.
Line: 1187
Element 'block', attribute 'class': '\Magento\Framework\View\Element\Text\ListText' is not a valid value of the atomic type 'blockClassType'.
Line: 1187
Будь ласка, знайдіть у всіх файлах макету * .xml рядок
class="\
та замініть його
class="
(Видалити слеш з початку значення класу атрибуту)
Зазвичай ви отримуєте помилку bash permission denied під час запуску скрипта/файлу, який не має дозволів на виконання (execute permissions). Це одна з найпоширеніших помилок Magento. Все, що вам потрібно зробити, це змінити дозволи файлу та додати дозвіл на виконання скрипта або файлу.
Щоб виправити помилку bash permission denied, виконайте такі кроки:
1. Відкрийте термінал (оболонка)
2. Перейдіть в папку зі скриптом
3. Запустіть CLI команду, щоб змінити налаштування дозволу файлу:
chmod +x path_to_file/file_name
Наприклад, якщо ви виконуєте CLI команду в Magento 2 :
bin/magento ...
і отримуєте помилку:
bash: bin/magento: Permission denied
Вам потрібно додати дозвіл на виконання (x) до файлу bin/magento.