Мій веб-сайт magento 2 збій: Невідома помилка часового поясу ()


13

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

Коли я переходжу на свій веб-сайт magento, я отримую помилки

DateTimeZone :: __ construct (): невідомий або поганий часовий пояс ()

на сторінках Блокування та CMS та на всіх сторінках списку моїх продуктів на фронтальному віці відображається помилка 404 сторінки, не знайдено Будь ласка, перевірте та допоможіть мені вирішити цю проблему якнайшвидше. Ви можете перевірити цю проблему тут. Я вирішую цю помилку, відновлюючи свій резервний сайт.

Але якщо ви знаєте, чому виникає ця помилка, це питання все ще залишається відкритим


Моя відповідь вам не допомогла?
Сіархей Учукхлебау

У мене зараз така ж проблема в Magento 2.1.3. Домашня сторінка працює, але всі інші сторінки - ні. Мій часовий пояс правильно встановлений в core_config_dataс Europe/Amsterdam.
Giel Berkers

Відповіді:


41

Я не знаю точно, ЯК це сталося, але в моєму сценарії core_config_dataстіл був зіпсований. Додано новий рядок якось із pathвстановленим значенням generalта valueвстановлено на 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";)
Алекс

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
Раджпут

0

Я вирішив проблему правильною відповіддю;

1, Виберіть TO:

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

2, Видалити TO:

DELETE FROM `core_config_data` WHERE path = 'general'

Тоді веб-сайт працює, сподіваюся, вам стане в нагоді.


Giel Berkers вже відповів те саме, що нового ви відповіли ??
Murtuza Zabuawala

Так, дякую!
jerry xu
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.