Trang web magento 2 của tôi bị sập: Lỗi múi giờ không xác định hoặc xấu ()


13

nhập mô tả hình ảnh ở đây

Khi tôi truy cập trang web magento của tôi, tôi đang gặp lỗi

DateTimeZone :: __ construc (): Múi giờ không xác định hoặc xấu ()

trên các trang Block và CMS và tất cả các trang danh sách sản phẩm của tôi trên frontend hiển thị trang 404 không tìm thấy lỗi. Vui lòng kiểm tra và giúp tôi ra để khắc phục vấn đề này càng sớm càng tốt. Bạn có thể kiểm tra vấn đề này tại đây. Tôi giải quyết lỗi này bằng cách khôi phục trang web sao lưu của mình.

Nhưng nếu bạn biết tại sao lỗi này lại xuất hiện thì câu hỏi này vẫn mở


Câu trả lời của tôi đã không giúp bạn?
Siarhey Uchukhlebau

Tôi hiện đang gặp vấn đề tương tự trong Magento 2.1.3. Trang chủ hoạt động, nhưng tất cả các trang khác thì không. Múi giờ của tôi là thiết lập đúng trong core_config_datađể Europe/Amsterdam.
Giel Berkers

Câu trả lời:


41

Tôi không biết chính xác CÁCH nó xảy ra, nhưng trong kịch bản của tôi core_config_databảng đã bị hỏng. Nó đã thêm một hàng mới bằng cách nào đó với paththiết lập generalvalueđặt thành NULL:

cấu hình sai trong cơ sở dữ liệu

Điều này gây ra Magento\Framework\App\Config\ScopeConfigInterface::getValue()trên public/vendor/magento/framework/Stdlib/DateTime/Timezone.php::scopeDate()để trở lại NULLthay vì Europe/Amsterdam. Không cần phải nói, khi\DateTimeZone() đối tượng được tạo ra, nó lập tức ném ngoại lệ này.

Vì vậy, nếu bất cứ ai khác gặp phải lỗi này, cấu hình của bạn có thể là một nơi rõ ràng để bắt đầu tìm kiếm.


4
Tôi cũng có chính xác vấn đề đấy. Tôi đã nhầm lẫn thêm một dòng mới trong core_cofig_databảng trong khi cố gắng chèn một số mục cho một cái gì đó khác nhau. Tôi đang sử dụng ứng dụng SequelPro trên Mac và khi tôi thêm một hàng mới, nó sẽ tự động thêm vào generaltheo đường dẫn
Alex Dinca

1
yup, vấn đề tương tự đối với tôi một cách dễ dàng nhanh chóng để thoát khỏi nó để tham khảo trong tương lai:DELETE FROM core_config_data WHERE path LIKE 'general' AND value IS NULL LIMIT 1;
B00mer

Có thể xác nhận rằng đây là sự cố trên M2 EE v 2.1.5. Một bản cài đặt sạch đã hoạt động cho đến khi tôi cài đặt uRapidFlow. Không chắc chắn nếu đây là lỗi Magento hoặc nếu có sự cố với tiện ích mở rộng.
sparecycl

1
Nó hoạt động như một cơ duyên và đừng quên làm sạch bộ đệm sau khi xóa dòng "chung" "NULL" trong cơ sở dữ liệu;)
Alex

1
Tôi có thể nói vấn đề này với các giá trị trống / null trong core_config_data với path = 'general' đã là một vấn đề mà ngay cả Magento 1 cũng mắc phải.
Rand

9

Múi giờ phải là một trong Danh sách các múi giờ được hỗ trợ . Có vẻ như bạn đang sử dụng múi giờ trống.

Cố gắng phát hiện múi giờ cửa hàng hiện tại bằng cách sử dụng truy vấn tiếp theo:

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

Nếu kết quả trống, hãy thử chèn giá trị mặc định:

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

Nếu điều này không có ích - hãy thử tìm kiếm bên trong dự án: nơi mã phát sinh lỗi. Sau đó thử gỡ lỗi nó: phát hiện từ nơi giá trị múi giờ trống đang đến.


Tôi vừa hoàn nguyên trang web cũ của mình bằng cách hoàn nguyên bản sao lưu. Và chúng tôi đang làm việc đúng hạn nên tôi chưa kiểm tra vấn đề gây ra sự cố Nhưng cảm ơn bạn đã trả lời. Tôi đã nâng cao câu trả lời của bạn và tôi sẽ kiểm tra Nếu đó là vấn đề tương tự thì tôi sẽ Đánh dấu câu trả lời của bạn là được chấp nhận
Murtuza Zabuawala

Tôi đã đối mặt với vấn đề này trong một thiết lập vanilla 2.3.0 và giải quyết nó bằng giải pháp trên. Cảm ơn @Siarhey
Rajput

0

Tôi đã giải quyết vấn đề bằng câu trả lời đúng;

1, chọn ĐẾN:

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

2, Xóa ĐẾN:

DELETE FROM `core_config_data` WHERE path = 'general'

Sau đó, trang web đang hoạt động, tôi hy vọng sẽ hữu ích cho bạn.


Giel Berkers đã trả lời giống như những gì bạn mới trả lời ??
Murtuza Zabuawala

Vâng, cảm ơn bạn!
jerry xu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.