Magento 2 web sitem çöktü: Bilinmeyen veya bozuk saat dilimi () hatası


13

resim açıklamasını buraya girin

Benim magento web sitesine erişirken hata alıyorum

DateTimeZone :: __ construct (): Bilinmeyen veya bozuk saat dilimi ()

Blok ve CMS sayfalarında ve ön uçtaki tüm ürün listesi sayfalarımda 404 sayfa bulunamadı hatası görünüyor. Lütfen bu sorunu en kısa sürede düzeltmem için bana yardım et. Bu sorunu buradan kontrol edebilirsiniz. Bu hatayı yedekleme sitemi geri yükleyerek çözüyorum.

Ancak bu hatanın neden geldiğini biliyorsanız, bu soru hala açıktır


Cevabım size yardımcı olmadı mı?
Siarhey Uchukhlebau

Şu anda Magento 2.1.3'te aynı sorunu yaşıyorum. Ana sayfa çalışıyor, ancak diğer tüm sayfalar çalışmıyor. Benim saat dilimi düzgün ayarlanır core_config_dataiçin Europe/Amsterdam.
Giel Berkers

Yanıtlar:


41

Ben tam olarak bilmiyorum NASIL de oldu, ama benim senaryoda core_config_datatablo bozuktur. Bu ile bir türlü yeni bir satır ilave etmişti pathiçin sette generalve valueayarlı NULL:

veritabanında yanlış yapılandırma

Bu neden Magento\Framework\App\Config\ScopeConfigInterface::getValue()ile public/vendor/magento/framework/Stdlib/DateTime/Timezone.php::scopeDate()geri dönüşü NULLyerine Europe/Amsterdam. Söylemeye gerek yok, \DateTimeZone()nesne oluşturulduğunda hemen bu istisnayı attı.

Bu nedenle, başka biri bu hatayla karşılaşırsa, yapılandırmanız bakmaya başlamak için bariz bir yer olabilir.


4
Ben de aynı problemi yaşadım. core_cofig_dataFarklı bir şey için bazı girişler eklemeye çalışırken yanlışlıkla tabloya yeni bir satır ekledim . Mac'te SequelPro uygulamasını kullanıyorum ve yeni bir satır eklediğimde otomatik olarak generalyol altına ekleniyor
Alex Dinca

1
Evet, benim için aynı konu gelecekteki referans için kurtulmak için hızlı ve kolay bir yol:DELETE FROM core_config_data WHERE path LIKE 'general' AND value IS NULL LIMIT 1;
B00MER

Bunun M2 EE v 2.1.5'teki sorun olduğunu onaylayabilir. URapidFlow'u yükleyene kadar çalışan temiz bir yükleme. Bunun bir Magento hatası mı yoksa uzantıyla ilgili bir sorun olup olmadığından emin değilim.
sparecycle

1
Bir cazibe olarak çalıştı ve veritabanındaki "genel" "NULL" satırını sildikten sonra önbelleği temizlemeyi unutmayın;)
Alex

1
Path = 'general' ile core_config_data boş / null değerleri ile bu sorunu söyleyebilirim Magento 1 bile muzdarip bir sorun olmuştur.
Rand

9

Saat dilimi , Desteklenen Zaman Dilimlerinin Listesinden biri olmalıdır . Boş saat dilimi kullandığınız anlaşılıyor.

Sonraki sorguyu kullanarak geçerli mağaza saat dilimini algılamaya çalışın:

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

Sonuç boşsa, varsayılan değeri girmeyi deneyin:

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

Bu işe yaramazsa - projenin içinde arama yapmayı deneyin: burada kod bir hata atar. Sonra hata ayıklamaya çalışın: boş saat dilimi değerinin nereden geldiğini tespit edin.


Sadece eski web siteme geri dönerek geri döndüm. Ve son tarih üzerinde çalışıyoruz, bu yüzden soruna neden olan sorunu kontrol etmedim Ama cevabınız için teşekkür ederim. Cevabınızı iptal ettim ve kontrol edeceğim Aynı konu ise cevabınızı kabul edildiği gibi işaretleyeceğim
Murtuza Zabuawala

2.3.0 vanilya kurulumunda bu sorunla karşılaştım ve yukarıdaki çözümü kullanarak çözdüm. Teşekkürler @Siarhey
Praful Rajput

0

Sorunu doğru cevapla çözdüm;

1, Şunu seçin:

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

2, Sil:

DELETE FROM `core_config_data` WHERE path = 'general'

Sonra web sitesi çalışıyor, umarım sizin için yararlı olur.


Giel Berkers, cevapladığınız aynı şeyi zaten cevapladı mı ??
Murtuza Zabuawala

Evet, teşekkür ederim
j
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.