Meine magento 2 Webseite ist abgestürzt: Unbekannter oder falscher timezone () Fehler

13

Bildbeschreibung hier eingeben

Wenn ich auf meine Magento-Website zugreife, erhalte ich Fehler

DateTimeZone :: __ construct (): Unbekannte oder falsche Zeitzone ()

Auf Block- und CMS-Seiten sowie auf allen Seiten meiner Produktliste im Frontend wird der Fehler 404 Seite nicht gefunden angezeigt. Bitte überprüfen Sie und helfen Sie mir, um dieses Problem so schnell wie möglich zu beheben. Sie können dieses Problem hier überprüfen. Ich behebe diesen Fehler, indem ich meine Backup-Site wiederherstelle.

Aber wenn Sie wissen, warum dieser Fehler auftritt, ist diese Frage noch offen

Murtuza Zabuawala
quelle
Meine Antwort hat dir nicht geholfen?
Siarhey Uchukhlebau
Ich habe derzeit das gleiche Problem in Magento 2.1.3. Die Homepage funktioniert, alle anderen Seiten jedoch nicht. Meine Zeitzone richtig eingestellt ist in core_config_dataan Europe/Amsterdam.
Giel Berkers

Antworten:

40

Ich weiß nicht genau WIE es passiert ist , aber in meinem Szenario das core_config_datawurde Tabelle beschädigt. Es hatte irgendwie eine neue Zeile mit pathset to generalund valueset to hinzugefügt NULL:

falsche Konfiguration in der Datenbank

Dies führt Magento\Framework\App\Config\ScopeConfigInterface::getValue()auf , public/vendor/magento/framework/Stdlib/DateTime/Timezone.php::scopeDate()um Rückkehr NULLstatt Europe/Amsterdam. Es erübrigt sich zu erwähnen, dass beim Erstellen des \DateTimeZone()Objekts diese Ausnahme sofort ausgelöst wurde.

Wenn also jemand anderes auf diesen Fehler stößt, ist Ihre Konfiguration möglicherweise ein offensichtlicher Ausgangspunkt für die Suche.

Giel Berkers
quelle
4
Ich hatte genau das gleiche Problem. Ich habe versehentlich eine neue Zeile in die core_cofig_dataTabelle eingefügt, als ich versuchte, Einträge für etwas anderes einzufügen. Ich verwende die SequelPro-App auf dem Mac und wenn ich eine neue Zeile hinzufüge, wird diese automatisch generalunter Pfad hinzugefügt
Alex Dinca,
1
yup, das gleiche Problem für mich eine schnelle und einfache Möglichkeit, es für zukünftige Referenz loszuwerden:DELETE FROM core_config_data WHERE path LIKE 'general' AND value IS NULL LIMIT 1;
B00MER
Kann bestätigen, dass dies das Problem in M2 EE v 2.1.5 war. Eine Neuinstallation, die funktioniert hat, bis ich uRapidFlow installiert habe. Ich bin mir nicht sicher, ob dies ein Magento-Fehler ist oder ein Problem mit der Erweiterung vorliegt.
Sparecycle
1
Es funktionierte wie ein Zauber, und vergessen Sie nicht, den Cache zu leeren, nachdem Sie die Zeile "general" "NULL" in der Datenbank gelöscht haben;)
Alex
1
Ich kann sagen, dass dieses Problem mit leeren / Null-Werten in core_config_data mit path = 'general' ein Problem war, unter dem sogar Magento 1 litt.
Rand
9

Die Zeitzone sollte in der Liste der unterstützten Zeitzonen aufgeführt sein . Scheint, dass Sie eine leere Zeitzone verwenden.

Versuchen Sie, die aktuelle Zeitzone des Geschäfts mit der nächsten Abfrage zu ermitteln:

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

Wenn das Ergebnis leer ist, versuchen Sie, den Standardwert einzufügen:

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

Wenn dies nicht hilft, versuchen Sie, innerhalb des Projekts zu suchen: wo der Code einen Fehler auslöst. Versuchen Sie dann, es zu debuggen: Ermitteln Sie, woher der leere Zeitzonenwert stammt.

Siarhey Uchukhlebau
quelle
Ich habe gerade meine alte Website durch Zurücksetzen des Backups wiederhergestellt und wir arbeiten an einer Frist, sodass ich das Problem, das das Problem verursacht hat, nicht überprüft habe. Aber ich danke Ihnen für Ihre Antwort. Ich habe Ihre Antwort positiv bewertet und werde prüfen, ob es sich um dasselbe Problem handelt. Dann werde ich Ihre Antwort als akzeptiert
markieren
Ich habe dieses Problem in einem Vanilla-Setup von 2.3.0 angetroffen und es mit der obigen Lösung gelöst. Danke @Siarhey
Praful Rajput
0

Ich habe das Problem mit der richtigen Antwort gelöst.

1, Wählen Sie TO:

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

2, Löschen TO:

DELETE FROM `core_config_data` WHERE path = 'general'

Dann funktioniert die Website, ich hoffe, Sie zu unterstützen.

Jerry Xu
quelle
Giel Berkers hat gleich schon geantwortet was hast du neu geantwortet ???
Murtuza Zabuawala
Ja, danke!
Jerry Xu