我的magento 2网站崩溃:未知或错误的时区()错误


13

在此处输入图片说明

当我访问我的magento网站时,出现错误

DateTimeZone :: __ construct():未知或错误的时区()

在“阻止”和“ CMS”页面上,前端上的所有我的产品列表页面上显示“ 404页面未找到”错误。请检查并帮助我尽快解决此问题。您可以在这里检查此问题。我通过还原备份站点来解决此错误。

但是,如果您知道为什么会出现此错误,那么此问题仍然存在


我的回答对您没有帮助?
Siarhey Uchukhlebau

我目前在Magento 2.1.3中遇到相同的问题。主页有效,但其他所有页面无效。我的时区已正确设置core_config_dataEurope/Amsterdam
吉尔·伯克斯

Answers:


41

我不知道到底如何它发生了,但在我的情况的core_config_data表已损坏。它以某种方式添加了新行pathgeneralvalue设置为NULL

数据库中的配置错误

这导致Magento\Framework\App\Config\ScopeConfigInterface::getValue()public/vendor/magento/framework/Stdlib/DateTime/Timezone.php::scopeDate()以回报NULL,而不是Europe/Amsterdam。不用说,\DateTimeZone()创建对象时,它立即引发此异常。

因此,如果其他任何人遇到此错误,则可能是您开始寻找配置的明显地方。


4
我有同样的问题。我core_cofig_data在尝试为其他内容插入一些条目时错误地在表中添加了新行。我在Mac上使用SequelPro应用,当我添加新行时,它会自动添加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错误还是扩展问题。
备用自行车'17

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')

如果这样做没有帮助,请尝试在项目内部进行搜索:代码会在其中引发错误。然后尝试对其进行调试:检测空时区值从何处来。


我刚刚通过还原备份还原了我的旧网站,并且我们正在按截止日期进行操作,所以我还没有检查导致该问题的问题,但是感谢您的答复。我已批准您的回答,我将检查是否是同一问题,然后将您的回答标记为已接受
Murtuza Zabuawala

我在2.3.0的原始设置中遇到了此问题,并使用上述解决方案解决了该问题。感谢@Siarhey
Praful Rajput,

0

我用正确的答案解决了这个问题。

1,选择TO:

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

2,删除至:

DELETE FROM `core_config_data` WHERE path = 'general'

然后该网站开始运行,希望对您有所帮助。


吉尔·伯克斯(Giel Berkers)已经回答了与您回答的新内容相同的内容?
Murtuza Zabuawala

是的,谢谢!
jerry xu
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.