2013-07-24 4 views
1

프로덕션 환경이 작동 중이며 테스트 환경에서 재현 할 수없는 오류 또는 문제점을 알고 싶습니다.error.log를 사용하여 CakePHP 오류를 추적하는 방법

cakephp/app/tmp/ 폴더에있는 error.log을 사용하려고하지만 이러한 오류 중 일부를 이해하지 못하거나 코드에서 정확히 어디에서 발생하는지 알 수 있습니다. 오류에서 오는

2013-07-24 10:26:49 Error: [MissingActionException] Action TablesController::fancybox() could not be found.

#0 C:\inetpub\wwwroot\lib\Cake\Routing\Dispatcher.php(186): Controller->invokeAction(Object(CakeRequest))

#1 C:\inetpub\wwwroot\lib\Cake\Routing\Dispatcher.php(161): Dispatcher->_invoke(Object(TablesController), Object(CakeRequest), Object(CakeResponse))

#2 C:\inetpub\wwwroot\app\webroot\index.php(92): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse)) #3 C:\inetpub\wwwroot\index.php(42): require('C:\inetpub\wwwr...') #4 {main}

: 예를 들어

? 내가 fancybox() 함수라고 부르는 곳은 어디입니까? 어떤 파일과 라인? 나는 그 징후와 함께 그것을 추적 할 수 없습니다.

이것을 올바르게 읽을 수있는 방법이 있습니까? 내가 놓친 게 있니?

+2

나는 항상 url과 referrer를 에러 로그에 추가한다. 이렇게하면 문제의 출처를 쉽게 찾고 문제를 해결하기 위해이를 재현하는 방법을 쉽게 찾을 수 있습니다. https://github.com/dereuromark/tools/blob/master/Lib/Error/MyErrorHandler.php#L126 – mark

+0

please tag 당신이 사용하는 케이크 버전의 질문들 – AD7six

+0

2.2 그러나이 행동은 다른 버전들에서도 비슷하다고 생각합니다. – Alvaro

답변

1

Where is the error coming from?

오류 메시지가보고되었다 그 형태 /tables/fancybox/....의 URL에 대한 요청이 수단 TablesController::fancybox() could not be found

.

대부분이 페이지에서로드 한 js 라이브러리에 의해 생성 된 404 요청입니다. 이러한 오류를 식별하려면 예 : chrome의 네트워크 패널을 개발자 도구에 추가하고 페이지를 새로 고침합니다. 빨간색으로 표시된 것은 오류를 반환 한 항목과 수정해야 할 항목에 대한 요청을 나타냅니다.

요청을 작성하는 정보는 Apache 액세스/오류 로그에도 있습니다. referer는 이러한 잘못된 요청을 담당하는 개시 자입니다.

+0

저는 모든 프로젝트 파일에서'fancybox '를 찾고 있었고 그 이름을 가진 컨트롤러에 대한 호출을 찾지 못했습니다. 내가 찾을 수있는 것은 그 이름을 가진 CSS 클래스와 jQuery 플러그인의 JS 초기화이다. ('$ .fancybox ({...}) – Alvaro

+0

질문에 적절하게 태그를 달면 몇 가지 조언을 해드릴 것입니다;). 2.3은 [URL에 어떤 책임이 있는지 정확히 보여줍니다.] (https://github.com/cakephp/cakephp/blob/master/lib/Cake/Error/ErrorHandler.php#L154) - 따라서 2.3을 사용하지 않아도됩니다. – AD7six

+0

하하! done :) 나는 다른 두 명을 삭제했다. – Alvaro