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
core_config_data
surEurope/Amsterdam
.Réponses:
Je ne sais pas exactement COMMENT cela s'est produit, mais dans mon scénario, la
core_config_data
table était corrompue. Il avait ajouté une nouvelle ligne en quelque sorte avecpath
set togeneral
etvalue
set toNULL
:Cela a provoqué
Magento\Framework\App\Config\ScopeConfigInterface::getValue()
lepublic/vendor/magento/framework/Stdlib/DateTime/Timezone.php::scopeDate()
retourNULL
au lieu deEurope/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.
la source
core_cofig_data
tableau 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 automatiquementgeneral
sous le cheminDELETE FROM core_config_data WHERE path LIKE 'general' AND value IS NULL LIMIT 1;
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:
Si le résultat est vide, essayez d'insérer la valeur par défaut:
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.
la source
J'ai résolu le problème avec la bonne réponse;
1, sélectionnez TO:
2, supprimer TO:
Ensuite, le site Web fonctionne, j'espère vous être utile.
la source