2012-03-07 5 views
3

원격 호스트에 내 응용 프로그램을 배포했는데 모든 것이 예상대로 작동합니다. 내가 로컬 호스트에 내 코드를 테스트 할 때, 그것은 호스트에서 작업 코드를 변경하지 않고, 나에게 다음과 같은 오류를 제공합니다로컬 호스트에서 CakePHP 2.1이 작동하지 않습니다

Fatal error: Class 'AppHelper' not found in [path]

를 내 기본 데이터 소스로 CakePHP는 2.1와 MySQL을 사용하고 있습니다.

public $default = array(
    'datasource' => 'Database/Mysql', 
    'persistent' => false, 
    'host' => 'localhost', 
    'login' => 'root', 
    'password' => '', 
    'database' => 'database', 
    'prefix' => '', 
    'encoding' => 'utf8', 
); 

가 왜 내 로컬 호스트에서 작동하지 않습니다 : 나는 (인증 변경) 원격 하나처럼 내 로컬 데이터베이스에 연결

? 중 하나는 2.1의 AppHelper 요구 사항에 대한 몰랐어요 : 당신

+0

컨트롤러에 $ helpers 배열에없는 도우미가있을 수 있습니다 ?? 또는 헬퍼에 대한 잘못된 경로 – Crsr

+0

헬퍼 배열은'public $ helpers = array ('Html', 'Form', 'Session', 'Js', 'Text', 'Time');'와 같이 보입니다. 어쨌든, 그건 내 원격 호스트에서 동일한 코드가 잘 작동한다는 것입니다. – linkyndy

+0

다음에 경로를 확인하십시오 ... remote! = localhost ... 다른 환경입니다 :) 어쨌든 .. AppHelper에서 확장되는 클래스가 있습니까? (헬퍼에서 확인) 헬퍼에서 변경하십시오. Teoreticaly,이 오류는 헬퍼 폴더에 잘못된 경로 나 헬퍼가없는 두 가지 문제로 인해 발생합니다. – Crsr

답변

5

두 가지 가능한 일을 감사 http://book.cakephp.org/2.0/en/appendices/2-1-migration-guide.html

또는 당신은 당신의 클래스의 맨 위에 도우미를 선언하는 것을 잊지 :

App::uses('AppHelper', 'View/Helper'); 

두 번째 테스트는 유닛 테스트를 실행하지 않을 경우 거의 없습니다. 내기가 첫 번째 것입니다.

+0

맞아요, 이미 알아 냈습니다. 질문의 코멘트에 게시했습니다 :) 어쨌든 고마워요! – linkyndy

+0

아, 알았습니다. 하지만 uses 문을 도우미 파일에 추가해야합니다. 그렇지 않으면 테스트 케이스가 중단됩니다. – mark

+1

사용자 지정 도우미 파일이 없습니다. 이것은'AppHelper.php'에서 추가 한 것입니다 :'App :: uses ('Helper', 'View'); AppHelper 클래스 헬퍼 확장 {}' – linkyndy