magento 2のWebサイトがクラッシュしました:不明または不適切なタイムゾーン()エラー


13

ここに画像の説明を入力してください

magentoのWebサイトにアクセスするとエラーが発生します

DateTimeZone :: __ construct():不明または不適切なタイムゾーン()

ブロックページとCMSページ、およびフロントエンドのすべての製品リストページで、404ページが見つかりませんというエラーが表示されます。この問題をできるだけ早く修正するために私を助けてください。この問題はこちらで確認できます。バックアップサイトを復元して、このエラーを解決します。

しかし、このエラーが発生する理由を知っている場合、この質問はまだ開かれています


私の答えはあなたを助けていませんか?
Siarhey Uchukhlebau

現在、Magento 2.1.3でも同じ問題が発生しています。ホームページは機能しますが、他のすべてのページは機能しません。私のタイムゾーンはに正しく設定されcore_config_dataていEurope/Amsterdamます。
ゲルバーカーズ

回答:


41

どのように発生したのか正確にはわかりませんが、私のシナリオではcore_config_dataテーブルが破損していました。pathset to generalvalueset to で新しい行を何とか追加しましたNULL

データベースの設定が間違っています

これによりMagento\Framework\App\Config\ScopeConfigInterface::getValue()、ではなくがpublic/vendor/magento/framework/Stdlib/DateTime/Timezone.php::scopeDate()返されました。言うまでもなく、オブジェクトが作成されるとすぐにこの例外がスローされました。NULLEurope/Amsterdam\DateTimeZone()

そのため、他の誰かがこのエラーに遭遇した場合、設定を確認するのに明らかな場所になる可能性があります。


4
私はまったく同じ問題を抱えていました。core_cofig_data別のエントリをいくつか挿入しようとしたときに、誤ってテーブルに新しい行を追加しました。私は、Mac上でSequelProアプリを使用していると私は、新しい行を追加したときに自動的に追加されますgeneralパスの下に
アレックス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
path = 'general'のcore_config_dataのブランク/ヌル値に関するこの問題は、Magento 1でも問題になっていると言えます。
ランド

9

タイムゾーンは、サポートされるタイムゾーンのリストの 1つである必要があります。空のタイムゾーンを使用しているようです。

次のクエリを使用して、現在のストアのタイムゾーンを検出してください。

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

結果が空の場合、デフォルト値を挿入してみてください。

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

これが役に立たない場合-プロジェクト内で検索してみてください:コードがエラーをスローします。次に、デバッグを試みます。空のタイムゾーン値がどこから来ているかを検出します。


バックアップを元に戻すことで、古いWebサイトを元に戻したばかりで、期限に取り組んでいるので、問題の原因となっている問題を確認していませんが、回答ありがとうございます。私はあなたの答えを支持しました、そして、同じ問題であるならば、私はあなたの答えを承認
済み

2.3.0のバニラセットアップでこの問題に直面し、上記のソリューションを使用して解決しました。ありがとう@Siarhey
Praful Rajput

0

正解で問題を解決しました。

1、宛先を選択:

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

2、削除先:

DELETE FROM `core_config_data` WHERE path = 'general'

これでウェブサイトが機能します。あなたの役に立つことを願っています。


Giel Berkersは、あなたが答えた新しいものと同じものをすでに答えましたか?
マートゥザザブアワラ

はい、ありがとうございます!
ジェリーxu
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.