2014-09-24 4 views
0

IP.content와 함께 eval 된 클래스 GroupManager 파일을 포함합니다. 클래스가 이미 정의되어 있다는 오류가 발생했습니다. 포함을 취소하면 오류가 표시되지 않습니다. 내가 클래스 이름을 변경하면, 나는 (나는 개인적으로 ... include_once 문을 사용했다)의 경우 여러 있었다 포함 다음 시도 오류를 (. 그러나 나는이 클래스가 다른 곳에서 존재하지 않는 확신)가 나타날 :PHP와 IP.Content에서 클래스가 이미 선언 되었습니까?

if(!class_exists('GroupManager')) { 
    class GroupManager { 
    } 
} 

나는 여전히 오류가 나타날 수

Cannot redeclare class GroupManager in ... GroupManager.php on line 37 

은 분명히 내 4 줄 파일에는 라인 (37)이 없습니다.

클래스 선언을 제거하고 에코로 바꾸면 아무런 오류 메시지가 나타나지 않고 잘 나타납니다. 즉, 그 시점에 클래스가 존재하지 않습니다.

if(!class_exists('GroupManager')) { 
    echo "Class does not exist???"; 
} 

어떻게 디버그할지 모르겠습니다.

+0

"eval'd with IP.content"? 응? –

+0

"IP.content"는 Invision Powerboard에 대한 참조입니까? – TML

+0

IP Board에서 널리 사용되는 플러그인입니다. 죄송합니다. 혼란 스럽습니다. 플러그인은 본질적으로 피드를 제공하는 코드에서 eval을 호출합니다. (나는 그것이 evals 전에 그 코드를 얼마나 처리하는지 잘 모르겠습니다.) – user1405177

답변

0

나는이 문제를 발견했기 때문에 더 빨리 잡아야 했음 ... 다른 관리자가이 파일을 포함 시켰습니다. 모든 페이지가 후크를 필요로하지 않더라도 후크는 분명히 모든 페이지에서 실행됩니다 ... 따라서 후크를 확인하는 것은 내 생각이 아닙니다.

이상한 사람 중에 IPB 관련 문제가있는 경우 포함/요구 사항에 대해 grep을 확인하십시오. 그것은 당신에게 많은 번거 로움을 덜어 줄 것입니다.

grep -r include_name.php . 

이 현재 디렉토리에서 재귀 적으로 모든 파일을 검사합니다 :이 같은

무언가가 당신에게 파일이 포함되는 위치의 아이디어를 줄 것이다.

관련 문제