Nguyên nhân của bộ điều khiển Front Front đạt 100 lần lặp bộ định tuyến khớp lỗi Lỗi là gì?


14

Là một nhà phát triển Magento, tôi đã phải đối mặt với vấn đề này hàng tấn lần, tôi biết đó là sự cố cấu hình sai khi xảy ra một số mô-đun không được tải, cả bộ định tuyến của chúng, không gây ra lỗi. Hầu hết các lần nó được giải quyết mà không có hành động, những lần khác bạn có thể xóa bộ đệm

Tôi đã đọc nhiều bài viết về điều này, cố gắng gỡ lỗi đặt một số mã bổ sung trong bộ điều khiển Mặt trước lõi Magento app/code/core/Mage/Core/Controller/Varien/Front.php, nhưng cuối cùng, điều này chỉ cho thấy bộ định tuyến mô-đun nào bị thiếu, không phải tại sao chúng không được tải. Mỗi lần nó xảy ra, tôi cố gắng xem URL nào đang báo lỗi, nhưng đây là thông tin vô dụng, giống như dấu vết mã. Nó luôn giống nhau

Có lẽ nó được gây ra bởi xung đột mô-đun? Có lẽ đó là một số nhiệm vụ cron làm điều gì đó sai? Có thể một số mã sai trong các phiên bản Magento cũ? Vấn đề là vấn đề này không xảy ra kể từ phiên bản 1.7 (hoặc nếu nó xảy ra thì nó hoàn toàn rời rạc). Tôi đã tìm thấy một số khác biệt về mã trong luồng chính, chẳng hạn như

Mage::register('application_params', $params);

Trong phương thức run () của app/code/core/Mage/Core/Model/App.php, hoặc

$this->_shouldSkipProcessModulesUpdates()

kiểm tra phương thức _initModules () ...

Tôi muốn tin rằng nên có một người chắc chắn đã tìm ra nguyên nhân. Lời khuyên nào?


1
Bạn đã tham khảo điều này? github.com/convenient/ từ
Tim Hallman

1
Người đăng bài viết đó đã có thể khắc phục vấn đề của họ bằng cách ghi đè Mage_Core_Model_Configvà ép buộc$_useCache = false
Tim Hallman

1
Sau khi đọc toàn bộ bài viết, tôi nghĩ bạn nên đăng nó như là câu trả lời đúng cho câu hỏi của tôi, để những người dùng khác có thể đọc nó. Cảm ơn
Raul Sanchez

Câu trả lời:


12

Có vẻ như bạn đang gặp lỗi cấu hình Magento.

Có một bài viết tuyệt vời với giải pháp ở đây .

Trong bài viết đó, tác giả đã có thể khắc phục lỗi bằng cách ghi đè Mage_Core_Model_Configvà buộc $_useCache = falsekhi tạo lại cấu hình.


4
Chết tiệt! Tôi không bao giờ gặt hái được đại diện cho bài viết đó, những người khác luôn liên kết với nó trước;)
Luke Rodgers

3
Viết rất hay @LukeRodgers!
Tim Hallman

5
Tôi chỉ muốn bình luận và nói rằng Magento đã chấp nhận điều này như là một cách khắc phục vấn đề với SUPEE-4755 github.com/convenient/
Luke Rodgers

2
Tôi cũng đã thêm một bản vá khác. Không hoàn toàn tốt đẹp, nhưng thảo luận ở đây. github.com/convenient/ từ
Luke Rodgers

Tôi đang đối mặt với vấn đề này trong Magento 2 CE Phiên bản 2.1.0. Nó nên được sửa ngay vì đó là vấn đề cũ?
Ankit Shah

6

Kiểm tra các thiết lập cấu hình Magento Mặc định URL No-tuyến đường tại

Hệ thống> Cấu hình> Web> Trang mặc định
. Nó nên được đặt giá trị mặc định cms / index / noRoute . Kiểm tra giá trị cửa hàng cụ thể cũng như liệu giá trị mặc định đã được ghi đè ở đây chưa. Magento có thể đi vào một vòng lặp vô hạn cho đến khi nó đạt đến giới hạn 100 lần lặp nếu nó không được đặt đúng.

Nếu bạn sử dụng Magerun , hãy chạy lệnh này.

magerun config:set cms/index/noRoute no-route

Tôi đã tìm thấy giải pháp ở đây, đây là vấn đề trong trường hợp của tôi. Bạn có thể kiểm tra URL cho các tùy chọn khác.

https://merchantprotatio.com/506/solve-front-controll-reached-100-router-match-iterations/


Nếu tôi thực thi ./n98-magerun.phar config: get no-route thì tôi nhận được Không thể tìm thấy giá trị cấu hình cho "no-route", và mục cấu hình thậm chí không tồn tại, bạn có chắc chắn với câu trả lời của mình không?
Đen

1
@Black bạn đang làm sai. phương thức get console yêu cầu đường dẫn - vì vậy lệnh của bạn phải là - \ n "n98-magerun.phar config: get cms / index / noRoute" \ n Vui lòng kiểm tra tùy chọn trợ giúp bằng cách chạy "n98-magerun.phar config: get - giúp đỡ "
Sandipan S
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.