Kiedy wchodzę na moją stronę Magento, pojawiają się błędy
DateTimeZone :: __ construct (): Nieznana lub zła strefa czasowa ()
na stronach Block i CMS oraz na wszystkich stronach z listą moich produktów w interfejsie pokazuje błąd 404 nie znaleziono strony. Sprawdź i pomóż mi jak najszybciej rozwiązać ten problem. Możesz sprawdzić ten problem tutaj. Rozwiązuję ten błąd, przywracając moją kopię zapasową.
Ale jeśli wiesz, dlaczego ten błąd nadchodzi, to pytanie jest nadal otwarte
core_config_data
naEurope/Amsterdam
.Odpowiedzi:
Nie wiem dokładnie, JAK to się stało, ale w moim scenariuszu
core_config_data
tabela została uszkodzona. Dodał jakoś nowy wiersz zpath
ustawionymi nageneral
ivalue
ustawionymi naNULL
:Wywołało to
Magento\Framework\App\Config\ScopeConfigInterface::getValue()
napublic/vendor/magento/framework/Stdlib/DateTime/Timezone.php::scopeDate()
celu powrótNULL
zamiastEurope/Amsterdam
. Nie trzeba dodawać, że kiedy\DateTimeZone()
obiekt został utworzony, natychmiast wyrzucił ten wyjątek.Jeśli więc ktoś napotka ten błąd, konfiguracja może być oczywistym miejscem do rozpoczęcia wyszukiwania.
źródło
core_cofig_data
Przez pomyłkę dodałem nowy wiersz w tabeli, próbując wstawić wpisy do czegoś innego. Korzystam z aplikacji SequelPro na Macu, a gdy dodam nowy wiersz, automatycznie dodaje ongeneral
ścieżkęDELETE FROM core_config_data WHERE path LIKE 'general' AND value IS NULL LIMIT 1;
Strefa czasowa powinna być jedną z listy obsługiwanych stref czasowych . Wygląda na to, że używasz pustej strefy czasowej.
Spróbuj wykryć bieżącą strefę czasową sklepu, używając następnego zapytania:
Jeśli wynik jest pusty, spróbuj wstawić wartość domyślną:
Jeśli to nie pomoże - spróbuj wyszukać w projekcie: gdzie kod zgłasza błąd. Następnie spróbuj go debugować: wykryj, skąd nadchodzi pusta wartość strefy czasowej.
źródło
Rozwiązałem problem z poprawną odpowiedzią;
1, wybierz DO:
2, Usuń DO:
Wtedy strona działa, mam nadzieję, że się przydadzę.
źródło