Мой сайт magento 2 потерпел крах: ошибка неизвестного или неправильного часового пояса ()


13

введите описание изображения здесь

Когда я захожу на сайт magento, я получаю ошибки

DateTimeZone :: __ construct (): неизвестный или неправильный часовой пояс ()

на страницах блоков и CMS, а также на всех страницах моего списка продуктов на веб-интерфейсе отображается ошибка 404, страница не найдена. Пожалуйста, проверьте и помогите мне решить эту проблему как можно скорее. Вы можете проверить эту проблему здесь. Я решаю эту ошибку, восстанавливая свой резервный сайт.

Но если вы знаете, почему возникает эта ошибка, то этот вопрос все еще открыт


Мой ответ не помог тебе?
Сергей Учухлебау

В настоящее время у меня та же проблема в Magento 2.1.3. Домашняя страница работает, но все остальные страницы не работают. Мой часовой пояс правильно настроен core_config_dataна Europe/Amsterdam.
Giel Berkers

Ответы:


41

Я точно не знаю, КАК это произошло, но в моем сценарии core_config_dataтаблица была повреждена. Он как-то добавил новую строку с pathset to generalи valueset NULL:

неправильная конфигурация в базе данных

Это вызвало Magento\Framework\App\Config\ScopeConfigInterface::getValue()на public/vendor/magento/framework/Stdlib/DateTime/Timezone.php::scopeDate()возвращению NULLвместо Europe/Amsterdam. Само собой разумеется, когда \DateTimeZone()объект был создан, он немедленно бросил это исключение.

Так что, если кто-то еще сталкивается с этой ошибкой, ваша конфигурация может быть очевидным местом для начала поиска.


4
У меня была точно такая же проблема. Я по ошибке добавил новую строку в core_cofig_dataтаблицу, пытаясь вставить некоторые записи для чего-то другого. Я использую приложение SequelPro на Mac, и когда я добавляю новую строку, она автоматически добавляется generalпо пути
Alex Dinca

1
да, та же самая проблема для меня быстрый и простой способ избавиться от него для дальнейшего использования:DELETE FROM core_config_data WHERE path LIKE 'general' AND value IS NULL LIMIT 1;
B00MER

Могу подтвердить, что это была проблема на M2 EE v 2.1.5. Чистая установка, которая работала, пока я не установил uRapidFlow. Не уверен, что это ошибка в Magento или проблема с расширением.
запасной цикл

1
Это сработало, и не забудьте очистить кеш после удаления «общей» строки «NULL» в базе данных;)
Alex

1
Я могу сказать, что эта проблема с пустыми / нулевыми значениями в core_config_data с path = 'general' была проблемой, от которой пострадала даже Magento 1.
Рэнд

9

Часовой пояс должен быть одним из списка поддерживаемых часовых поясов . Кажется, вы используете пустой часовой пояс.

Попробуйте определить текущий часовой пояс магазина, используя следующий запрос:

SELECT * FROM `core_config_data` WHERE `path` = 'general/locale/timezone'

Если результат пуст, попробуйте вставить значение по умолчанию:

INSERT INTO `core_config_data`(`path`, `value`) VALUES ('general/locale/timezone', 'Europe/Moscow')

Если это не поможет - попробуйте поискать внутри проекта: куда код выдает ошибку. Затем попробуйте отладить его: определите, откуда приходит пустое значение часового пояса.


Я только что вернулся к своему старому веб-сайту, вернув резервную копию. И мы работаем в срок, поэтому я не проверил проблему, вызвавшую проблему, но спасибо за ваш ответ. Я проголосовал за ваш ответ, и я проверю, если это тот же вопрос, я
отмечу

Я столкнулся с этой проблемой в ванильной установке 2.3.0 и решил ее, используя вышеуказанное решение. Спасибо @Siarhey
Praful Раджпут

0

Я решил проблему с правильным ответом;

1, выберите TO:

select * FROM `core_config_data` WHERE path = 'general'

2, Удалить до:

DELETE FROM `core_config_data` WHERE path = 'general'

Тогда сайт работает, надеюсь, будет вам полезен.


Гиль Беркерс уже ответил так же, что нового ты ответил ??
Муртуза Забуавала

Да, спасибо!
Джерри
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.