Mon site Web Magento 2 est en panne: erreur de fuseau horaire () inconnue ou incorrecte

13

entrez la description de l'image ici

Lorsque j'accède à mon site Web Magento, je reçois des erreurs

DateTimeZone :: __ construct (): fuseau horaire inconnu ou incorrect ()

sur les pages Block et CMS et toutes mes pages de liste de produits sur le frontend affiche une erreur de 404 page non trouvée. Veuillez vérifier et m'aider à résoudre ce problème dès que possible. Vous pouvez vérifier ce problème ici. Je résous cette erreur en restaurant mon site de sauvegarde.

Mais si vous savez pourquoi cette erreur arrive, cette question est toujours ouverte

Murtuza Zabuawala
la source
Ma réponse ne vous a pas aidé?
Siarhey Uchukhlebau
J'ai actuellement le même problème dans Magento 2.1.3. La page d'accueil fonctionne, mais pas toutes les autres pages. Mon fuseau horaire est correctement réglé core_config_datasur Europe/Amsterdam.
Giel Berkers

Réponses:

41

Je ne sais pas exactement COMMENT cela s'est produit, mais dans mon scénario, la core_config_datatable était corrompue. Il avait ajouté une nouvelle ligne en quelque sorte avec pathset to generalet valueset to NULL:

configuration incorrecte dans la base de données

Cela a provoqué Magento\Framework\App\Config\ScopeConfigInterface::getValue()le public/vendor/magento/framework/Stdlib/DateTime/Timezone.php::scopeDate()retour NULLau lieu de Europe/Amsterdam. Inutile de dire que lorsque l' \DateTimeZone()objet a été créé, il a immédiatement levé cette exception.

Donc, si quelqu'un d'autre rencontre cette erreur, votre configuration pourrait être un endroit évident pour commencer à chercher.

Giel Berkers
la source
4
J'ai eu exactement le même problème. J'ai par erreur ajouté une nouvelle ligne dans le core_cofig_datatableau en essayant d'insérer des entrées pour quelque chose de différent. J'utilise l'application SequelPro sur Mac et lorsque j'ajoute une nouvelle ligne, elle ajoute automatiquement generalsous le chemin
Alex Dinca
1
yup, même problème pour moi un moyen rapide et facile de s'en débarrasser pour référence future:DELETE FROM core_config_data WHERE path LIKE 'general' AND value IS NULL LIMIT 1;
B00MER
Peut confirmer que c'était le problème sur M2 EE v 2.1.5. Une installation propre qui fonctionnait jusqu'à ce que j'installe uRapidFlow. Je ne sais pas s'il s'agit d'un bogue Magento ou s'il s'agit d'un problème avec l'extension.
sparecycle
1
Cela a fonctionné comme un charme, et n'oubliez pas de nettoyer le cache après avoir supprimé la ligne "générale" "NULL" dans la base de données;)
Alex
1
Je peux dire que ce problème avec les valeurs vides / nulles dans core_config_data avec path = 'general' a été un problème dont même Magento 1 a souffert.
Rand
9

Le fuseau horaire doit faire partie de la liste des fuseaux horaires pris en charge . Semble que vous utilisez un fuseau horaire vide.

Essayez de détecter le fuseau horaire du magasin actuel à l'aide de la requête suivante:

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

Si le résultat est vide, essayez d'insérer la valeur par défaut:

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

Si cela ne vous aide pas, essayez de rechercher dans le projet: où le code génère une erreur. Essayez ensuite de le déboguer: détectez d'où vient la valeur de fuseau horaire vide.

Siarhey Uchukhlebau
la source
Je viens de revenir en arrière sur mon ancien site Web en rétablissant la sauvegarde. Et nous travaillons sur la date limite, donc je n'ai pas vérifié le problème à l'origine du problème, mais merci pour votre réponse. J'ai voté pour votre réponse et je vérifierai S'il s'agit du même problème, je marquerai votre réponse comme acceptée
Murtuza Zabuawala
J'ai rencontré ce problème dans une configuration vanilla de 2.3.0 et l'ai résolu en utilisant la solution ci-dessus. Merci @Siarhey
Praful Rajput
0

J'ai résolu le problème avec la bonne réponse;

1, sélectionnez TO:

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

2, supprimer TO:

DELETE FROM `core_config_data` WHERE path = 'general'

Ensuite, le site Web fonctionne, j'espère vous être utile.

jerry xu
la source
Giel Berkers a déjà répondu de la même manière à quelle nouvelle vous avez répondu ??
Murtuza Zabuawala
Oui, merci!
jerry xu