“전면 컨트롤러가 100 개의 라우터 일치 반복에 도달했습니다”오류의 원인은 무엇입니까?


14

Magento 개발자로서 나는이 문제에 대해 여러 번 직면했지만 일부 모듈이로드되지 않거나 라우터가 없어 오류가 발생하는 경우 구성 오류가 잘못되었음을 알고 있습니다. 대부분의 경우 아무런 조치없이 해결되며, 그렇지 않으면 캐시를 플러시 할 수 있습니다

나는 젠토 핵심 전면 컨트롤러에서 일부 추가 코드를 배치 디버깅하는 동안,이에 대한 여러 글을 읽었습니다 app/code/core/Mage/Core/Controller/Varien/Front.php,하지만 마지막에있는이 단지 쇼 모듈 라우터는하지, 누락 그들이이로드되지 않습니다. 그것이 발생할 때마다 어떤 URL이 오류를 일으키는 지 보려고 시도하지만 이것은 코드 추적과 같은 쓸모없는 정보입니다. 항상 같아

모듈 충돌로 인한 것일 수 있습니까? 어쩌면 잘못된 일을하는 cron 작업입니까? 이전 Magento 버전에서 잘못된 코드가 있습니까? 문제는 1.7 버전 이후 에이 문제가 발생하지 않는다는 것입니다 (또는 발생하는 경우 완전히 산발적입니다). 주 흐름에서 일부 코드 차이를 발견했습니다.

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

의 run () 메소드 app/code/core/Mage/Core/Model/App.php에서 또는

$this->_shouldSkipProcessModulesUpdates()

_initModules () 메소드 체크인 ...

그 원인을 분명히 찾은 사람이 있어야한다고 믿고 싶습니다. 팁이 있습니까?


1
이것을 참조 했습니까? github.com/convenient/…
Tim Hallman

1
그 기사의 포스터는 무시하여 문제를 해결할 수 있었다 Mage_Core_Model_Config강제력$_useCache = false
팀 Hallman을

1
전체 기사를 읽은 후에는 내 질문에 대한 정답으로 다른 사용자가 읽을 수 있도록 게시해야한다고 생각합니다. 감사합니다
Raul Sanchez

답변:


12

Magento 구성 버그가 발생한 것 같습니다.

여기 에 솔루션으로 훌륭한 쓰기가 있습니다 .

이 기사에서 저자는 구성을 다시 생성 할 때 재정의 Mage_Core_Model_Config하고 강제로 버그를 수정할 수있었습니다 $_useCache = false.


4
젠장! 나는 그 기사에 대한 담당자를 절대로 얻지 못합니다. 다른 사람들은 항상 먼저 링크합니다.)
Luke Rodgers

3
@LukeRodgers의 아주 멋진 글씨!
Tim Hallman

5
나는 Magento가 이것을 SUPEE-4755 github.com/convenient/
Luke Rodgers

2
또 다른 패치를 추가했습니다. 별로 좋지는 않지만 여기서 논의했습니다. github.com/convenient/…
Luke Rodgers

Magento 2 CE Version 2.1.0에서이 문제에 직면하고 있습니다. 오래된 문제이기 때문에 바로 고쳐야합니까?
Ankit Shah

6

젠토 구성 설정은 체크 없음 - 경로 URL을 기본

시스템> 구성> 웹> 기본 페이지
. 기본값 cms / index / noRoute 로 설정해야합니다 . 특정 상점 값과 여기에서 기본값이 겹쳐 써 졌는지 확인하십시오. Magento가 올바르게 설정되지 않은 경우 100 회 반복 한계에 도달 할 때까지 무한 루프로 이동할 수 있습니다.

Magerun 을 사용 하는 경우이 명령을 실행하십시오.

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

나는 여기서 해결책을 찾았습니다. 이것은 제 경우의 문제였습니다. 다른 옵션에 대해서는 URL을 확인할 수 있습니다.

https://merchantprotocol.com/506/solved-front-controller-reached-100-router-match-iterations/


./n98-magerun.phar config : get no-route를 실행하면 "no-route"에 대한 구성 값을 찾을 수 없으며 구성 항목이 존재하지 않습니다. 대답이 확실합니까?
Black

1
@Black 당신은 잘못하고 있습니다. 콘솔 get 메소드에는 경로가 필요하므로 명령은 다음과 같아야합니다. \ n "n98-magerun.phar config : get cms / index / noRoute"\ n "n98-magerun.phar config : get- help "
Sandipan S
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.