Проблемы с сайтом под управлением Magento 2.2.0-rc3.0 / PHP 7.0.23
Следующая проблема возникает со всеми сторонними расширениями, включенными или отключенными.
При добавлении элемента к сравнению со страницы категории или продукта или при отправке отзыва со страницы продукта в браузере появляется следующая ошибка:
1 exception(s):
Exception #0 (InvalidArgumentException): Unable to unserialize value.
Exception #0 (InvalidArgumentException): Unable to unserialize value.
#0 /home/___/public_html/app/code/Magento/Theme/Controller/Result/MessagePlugin.php(157): Magento\Framework\Serialize\Serializer\Json->unserialize('[{\\"type\\":\\"su...')
#1 /home/___/public_html/app/code/Magento/Theme/Controller/Result/MessagePlugin.php(135): Magento\Theme\Controller\Result\MessagePlugin->getCookiesMessages()
#2 /home/___/public_html/app/code/Magento/Theme/Controller/Result/MessagePlugin.php(84): Magento\Theme\Controller\Result\MessagePlugin->getMessages()
#3 /home/___/public_html/lib/internal/Magento/Framework/Interception/Interceptor.php(146): Magento\Theme\Controller\Result\MessagePlugin->afterRenderResult(Object(Magento\Framework\View\Result\Page\Interceptor), Object(Magento\Framework\View\Result\Page\Interceptor), Object(Magento\Framework\App\Response\Http\Interceptor))
#4 /home/___/public_html/lib/internal/Magento/Framework/Interception/Interceptor.php(153): Magento\Framework\View\Result\Page\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Response\Http\Interceptor))
#5 /home/___/public_html/generated/code/Magento/Framework/View/Result/Page/Interceptor.php(26): Magento\Framework\View\Result\Page\Interceptor->___callPlugins('renderResult', Array, Array)
#6 /home/___/public_html/lib/internal/Magento/Framework/App/Http.php(139): Magento\Framework\View\Result\Page\Interceptor->renderResult(Object(Magento\Framework\App\Response\Http\Interceptor))
#7 /home/___/public_html/lib/internal/Magento/Framework/App/Bootstrap.php(256): Magento\Framework\App\Http->launch()
#8 /home/___/public_html/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#9 {main}
Ошибка не исчезнет, если вы не удалите файлы cookie, в частности, файлы cookie mage-messages.
Любая помощь в устранении этих ошибок приветствуется.
magento2
magento2.2-dev
unserialize
цыпленок
источник
источник
Ответы:
Я смог решить эту проблему, очистив мой Redis Cache из CLI
Надеюсь, это поможет будущим пользователям.
источник
Проблема в /vendor/magento/framework/Serialize/Serializer/Json.php. Есть функция unserialize ($ string), которая выдает синтаксическую ошибку, если строка сериализуется (не json, а сериализация php).
Существует обходной путь - вы можете проверить, является ли строка сериализованной (против json-кодированной), а затем использовать serialize ($ string). Изменить десериализацию на:
и добавьте функцию, чтобы проверить, сериализована ли строка:
После сохранения fe. категория без проблем, вы можете восстановить класс по умолчанию, и в будущем такой проблемы не будет.
источник
Не редактируйте основные файлы для решения. Переопределить следующий путь Просто поместите следующую строку в di.xml внутри директории etc
И внутри пространства имен \ ModuleName \ Serialize \ Serializer Directory: файл Json.php
Работает отлично
источник
a:0:{}
на[]
В моем случае я пропатчил следующим образом, чтобы десериализовать сериализованную строку: File: /vendor/magento/framework/Serialize/Serializer/Json.php
Найти:
заменить на:
источник
После очистки Redis проблема разобралась. Спасибо Крейг за решение.
Я использую порт 6379 для кеша, поэтому я запускаю команду:
источник
В основном это связано с кэшем Redis, поэтому попробуйте сбросить это с помощью простой команды в вашем SSH
Redis-Cli Flushall
источник
Это оказалось проблемой с разрешениями, когда magento настраивал разрешения для сгенерированных файлов, которые были ограничены на этом сервере.
Решается созданием файла magento_umask в корневом каталоге с соответствующим umask для сервера.
См. Http://devdocs.magento.com/guides/v2.2/install-gde/install/post-install-umask.html для получения дополнительной информации.
источник
Ответ Самирса выше работал для меня, хотя я должен был использовать другой код в блоке.
источник
Корневой каталог 1.
public_html/vendor/magento/framework/Serialize/Serializer/Json.php
Загрузить файл JSON.php https://gist.github.com/manojind/9f18bbecaeb3e2bbfb056a634ade62a2
2. Просто замените нижеприведенную функцию (unserialize) и добавьте новую функцию ИЛИ просто загрузите прикрепленный файл и замените его по умолчанию
3. Добавить новую функцию:
источник
Я лично обнаружил, что эта проблема возникла, когда он запускает команду:
После миграции. Я обнаружил, что мне не хватало ключа хеширования crypt
src/app/etc/env.php
:Убедитесь, что он не пустой и предпочтительно соответствует другим условиям ваших проектов!
источник
Я получал сообщение об ошибке на странице CMS в передней части.
Это был код виджета Magento в содержимом страницы CMS, который вызывал проблему (которую я скопировал из другого источника). Я удалил код виджета и вставил тот же виджет с помощью кнопки «Вставить виджет» на экране редактирования страницы CMS, и это сработало.
Вышеуказанный процесс по-разному форматировал код виджета, и ошибка исчезла.
источник
Я обнаружил, что все сериализованные данные не могут быть помещены в столбец таблицы MySQL с
TEXT
типом данных.Я только что нашел
flag_data
значение столбцаsystem_config_snapshot
строки обрезается.Я должен был изменить это
MEDIUMTEXT
для этого столбцаflag.flag_data
.источник
Была такая же ошибка. При попытке обновить базу данных (версия 2.2.6) свежим кодом (версия 2.3.2).
Для исправления - работает
источник
Это не лучший способ запустить sql напрямую, но я сделал это для экономии моего времени. Просто запустите этот запрос
источник
Если вы используете 2.3.0 или выше, вы можете использовать решение, предоставленное MageLearner. Более старый способ с заявлениями случая устарел. Если вы не используете решение MageLearner на 2.3.0 или выше; Вы столкнетесь со всевозможными проблемами с просмотром данных заказа и настраиваемых продуктов.
источник