Мой сайт 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'

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

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