เว็บไซต์ magento 2 ของฉันขัดข้อง: ข้อผิดพลาดเขตเวลา () ไม่ทราบหรือไม่ถูกต้อง


13

ป้อนคำอธิบายรูปภาพที่นี่

เมื่อฉันเข้าถึงเว็บไซต์วีโอไอพีของฉันฉันพบข้อผิดพลาด

DateTimeZone :: __ construct (): เขตเวลาที่ไม่รู้จักหรือไม่ดี ()

ในหน้า Block และ CMS และหน้ารายการสินค้าทั้งหมดของฉันที่ frontend แสดงข้อผิดพลาด 404 หน้าไม่พบข้อผิดพลาด โปรดตรวจสอบและช่วยเหลือฉันในการแก้ไขปัญหานี้โดยเร็ว คุณสามารถตรวจสอบปัญหานี้ได้ที่นี่ ฉันแก้ไขข้อผิดพลาดนี้ได้โดยการกู้คืนไซต์สำรองของฉัน

แต่ถ้าคุณรู้ว่าทำไมข้อผิดพลาดนี้จึงเกิดขึ้น


คำตอบของฉันไม่ได้ช่วยคุณ?
Siarhey Uchukhlebau

ขณะนี้ฉันมีปัญหาเดียวกันใน Magento 2.1.3 โฮมเพจใช้งานได้ แต่หน้าอื่น ๆ ทั้งหมดใช้ไม่ได้ เขตเวลาของฉันเป็นที่ตั้งอย่างถูกต้องในการที่จะcore_config_data Europe/Amsterdam
Giel Berkers

คำตอบ:


41

ผมไม่ทราบว่าวิธีการมันเกิดขึ้น แต่ในสถานการณ์ของฉันcore_config_dataตารางได้รับความเสียหาย มันเพิ่มแถวใหม่ด้วยการpathตั้งค่าgeneralและvalueตั้งค่าเป็นNULL:

การกำหนดค่าผิดพลาดในฐานข้อมูล

เรื่องนี้เกิดขึ้นMagento\Framework\App\Config\ScopeConfigInterface::getValue()ในpublic/vendor/magento/framework/Stdlib/DateTime/Timezone.php::scopeDate()การกลับมาแทนNULL Europe/Amsterdamจำเป็นต้องพูดเมื่อ\DateTimeZone()วัตถุถูกสร้างขึ้นมันโยนข้อยกเว้นนี้ทันที

ดังนั้นหากใครพบข้อผิดพลาดนี้การกำหนดค่าของคุณอาจเป็นจุดเริ่มต้นที่ชัดเจน


4
ฉันมีปัญหาเดียวกันแน่นอน ฉันเพิ่มบรรทัดใหม่ในcore_cofig_dataตารางโดยไม่ตั้งใจขณะที่พยายามแทรกบางรายการสำหรับสิ่งที่แตกต่าง ฉันใช้แอพ SequelPro บน Mac และเมื่อฉันเพิ่มแถวใหม่มันจะเพิ่มโดยอัตโนมัติgeneralภายใต้เส้นทาง
Alex Dinca

1
yup ปัญหาเดียวกันสำหรับฉันเป็นวิธีที่ง่ายอย่างรวดเร็วเพื่อกำจัดมันสำหรับการอ้างอิงในอนาคต:DELETE FROM core_config_data WHERE path LIKE 'general' AND value IS NULL LIMIT 1;
B00MER

สามารถยืนยันได้ว่านี่เป็นปัญหาของ M2 EE v 2.1.5 การติดตั้งใหม่ทั้งหมดที่ทำงานได้จนกว่าฉันจะติดตั้ง uRapidFlow ไม่แน่ใจว่านี่เป็นข้อผิดพลาดของวีโอไอพีหรือหากมีปัญหากับส่วนขยาย
2560

1
มันใช้งานได้อย่างมีเสน่ห์และอย่าลืมล้างแคชหลังจากลบบรรทัด "ทั่วไป" "NULL" ในฐานข้อมูล;)
อเล็กซ์

1
ฉันสามารถพูดได้ว่าปัญหานี้มีค่าว่าง / null ใน core_config_data พร้อมเส้นทาง = 'ทั่วไป' เป็นปัญหาที่แม้แต่วีโอไอพี 1 ก็ประสบปัญหา
แรนด์

9

เขตเวลาที่ควรจะเป็นหนึ่งในรายการของเขตได้รับการสนับสนุน ดูเหมือนว่าคุณกำลังใช้เขตเวลาว่าง

ลองตรวจสอบเขตเวลาร้านค้าปัจจุบันโดยใช้คำค้นหาถัดไป:

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

หากผลลัพธ์ว่างเปล่าให้ลองใส่ค่าเริ่มต้น:

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

หากวิธีนี้ไม่ได้ผลให้ลองค้นหาภายในโครงการโดยที่รหัสมีข้อผิดพลาดเกิดขึ้น จากนั้นลองตรวจแก้จุดบกพร่อง: ตรวจหาตำแหน่งที่ว่างของค่าเขตเวลาว่างกำลังมา


ฉันเพิ่งจะย้อนกลับเว็บไซต์เก่าของฉันโดยการคืนค่าการสำรองข้อมูลและเรากำลังดำเนินการตามกำหนดเวลาดังนั้นฉันจึงไม่ได้ตรวจสอบปัญหาที่ทำให้เกิดปัญหา แต่ขอขอบคุณสำหรับคำตอบของคุณ ฉันได้
อัปเกรด

ฉันประสบปัญหานี้ในการตั้งค่าวานิลลา 2.3.0 และแก้ไขโดยใช้วิธีแก้ปัญหาข้างต้น ขอบคุณ @Siarhey
Rajput ที่

0

ฉันแก้ไขปัญหาด้วยคำตอบที่ถูกต้อง

1, เลือกเป็น:

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

2 ลบเป็น:

DELETE FROM `core_config_data` WHERE path = 'general'

จากนั้นเว็บไซต์กำลังทำงานฉันหวังว่าจะเป็นประโยชน์กับคุณ


Giel Berkers ได้ตอบเหมือนกันในสิ่งที่คุณตอบไปแล้ว?
Murtuza Zabuawala

ใช่ขอบคุณ!
jerry xu
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.