Występują problemy w witrynie z Magento 2.2.0-rc3.0 / PHP 7.0.23
Następujący problem występuje w przypadku wszystkich rozszerzeń innych firm, które są włączone lub wyłączone.
Podczas dodawania elementu do porównania ze strony kategorii lub produktu lub przesyłania recenzji ze strony produktu pojawia się następujący błąd w przeglądarce:
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}
Błąd nie zniknie, chyba że usuniesz pliki cookie, w szczególności plik cookie wiadomości magów.
Doceniamy wszelką pomoc w rozwiązywaniu tych błędów.
magento2
magento2.2-dev
unserialize
Głaskanie pod brodę
źródło
źródło
Odpowiedzi:
Udało mi się rozwiązać ten problem, opróżniając pamięć podręczną Redis z interfejsu CLI
Mam nadzieję, że pomoże to przyszłym użytkownikom.
źródło
Problem jest w /vendor/magento/framework/Serialize/Serializer/Json.php istnieje funkcja unserialize ($ string), która daje błąd składniowy, jeśli ciąg jest szeregowany (nie serializacja json, ale php).
Istnieje obejście - możesz sprawdzić, czy ciąg jest serializowany (w porównaniu z kodowaniem json), a następnie użyj serializacji ($ string). Zmień unserialize na:
i dodaj funkcję, aby sprawdzić, czy ciąg jest serializowany:
Po zapisaniu fe. kategoria bez problemu, możesz przywrócić klasę do wartości domyślnych i nie będzie takiego problemu w przyszłości.
źródło
Nie edytuj podstawowych plików rozwiązania. Zastąp następujący sposób Wystarczy wstawić następujący wiersz do di.xml w katalogu etc
I wewnątrz Namespace \ ModuleName \ Serialize \ Serializer Directory: plik Json.php
Działa świetnie
źródło
a:0:{}
na[]
W moim przypadku poprawiłem w następujący sposób, aby odserializować serializowany ciąg: Plik: /vendor/magento/framework/Serialize/Serializer/Json.php
Odnaleźć:
zastąpiony przez:
źródło
Po opróżnieniu Redis problem został rozwiązany. Dziękuję Craig za rozwiązanie.
Używam portu 6379 do pamięci podręcznej, więc uruchamiam polecenie:
źródło
Jest to głównie związane z pamięcią podręczną Redis, więc spróbuj wypróżnić to za pomocą prostej komendy w SSH
redis-cli flushall
źródło
Okazało się, że jest to problem z uprawnieniami, w którym magento ustawia uprawnienia do generowanych plików, które zostały ograniczone na tym serwerze.
Rozwiązany przez utworzenie pliku magento_umask w katalogu głównym z odpowiednim umask dla serwera.
Dodatkowe informacje można znaleźć na stronie http://devdocs.magento.com/guides/v2.2/install-gde/install/post-install-umask.html .
źródło
Powyższa odpowiedź Sameers działała dla mnie, chociaż musiałem użyć innego kodu w bloku.
źródło
Katalog ROOT 1.
public_html/vendor/magento/framework/Serialize/Serializer/Json.php
Pobierz JSON.php https://gist.github.com/manojind/9f18bbecaeb3e2bbfb056a634ade62a2
2. Po prostu zamień poniżej funkcji (odserializuj) i dodaj nową funkcję LUB po prostu pobierz załączony plik i zamień na domyślny
3. Dodaj nową funkcję:
źródło
Osobiście zauważyłem, że ten problem został rozwiązany, ponieważ głowa uruchomiła polecenie:
Po migracji. Dowiedziałem się, że brakuje mi klucza mieszającego „ crypt ” w
src/app/etc/env.php
:Upewnij się, że nie jest pusty i najlepiej pasuje do innych środowisk twojego projektu!
źródło
Wystąpił błąd na stronie CMS w interfejsie użytkownika.
Problemem był kod widgetu Magento w treści strony CMS (który skopiowałem z innego źródła). Usunąłem kod widżetu i wstawiłem ten sam widżet za pomocą przycisku Wstaw widżet na ekranie edycji strony CMS i zadziałało.
Powyższy proces sformatował kod widgetu inaczej i spowodował, że błąd zniknął.
źródło
Dowiedziałem się, że całych danych zserializowanych nie można dopasować do kolumny tabeli MySQL bazy
TEXT
danych o typie danych.Właśnie odkryłem, że
flag_data
wartość kolumnysystem_config_snapshot
linii jest przycięta.Musiałem to zmienić
MEDIUMTEXT
na tę kolumnęflag.flag_data
.źródło
Był ten sam błąd. Podczas próby aktualizacji bazy danych (wersja 2.2.6) świeżym kodem (wersja 2.3.2).
Dla poprawek uruchomionych
źródło
To nie jest najlepszy sposób na bezpośrednie uruchamianie sql, ale zrobiłem to dla zaoszczędzenia czasu. Po prostu uruchom to zapytanie
źródło
Jeśli korzystasz z wersji 2.3.0 lub nowszej, będziesz chciał skorzystać z rozwiązania dostarczonego przez MageLearner. Starsza metoda z użyciem instrukcji case jest przestarzała. Jeśli nie korzystasz z rozwiązania MageLearner w wersji 2.3.0 lub nowszej; napotkasz różnego rodzaju problemy z przeglądaniem danych zamówienia i produktów konfigurowalnych.
źródło