CI 묻고 답하기

제목 코어 확장 후 컨트롤러 못 찾는 문제입니다ㅜ
카테고리 CI 2, 3
글쓴이 소연신 작성시각 2017/02/23 10:15:35
댓글 : 23 추천 : 0 스크랩 : 0 조회수 : 13218   RSS

오랜만에 또 질문입니다ㅜ

전 윈도우를 쓰고..로컬에선 잘 됩니다.

 

class MY_Controller extends CI_Controller

 

리맵 함수 여기다 넣어서 공용으로 쓰고 있습니다.

 

근데..젠킨스랑..리눅스랑.. 일단 서버에 올라가면 

 

Fatal error: Class 'MY_Controller' not found in /var/app/current/application/controllers/Chatting.php on line 3

이 오류가 뜨네요. 처음엔 대소문자 문젠가 해서 수정했는데 수정해도 똑같이 뜨네요.

채팅.php -> class Chatting extends MY_Controller

 

확장한 걸 인식 못하진 않을텐데.. 뭐가 잘못 됐을까요ㅜ

컨피그 설정은 'MY_' 이거입니다.

 다음글 코어 확장문제..ㅜㅜ 계속 안되네요 (20)
 이전글 밴틱 없애는게 잘안되네요.. (4)

댓글

샤오란 / 2017/02/23 11:31:30 / 추천 0

코드상으로는 문제가 없어보이고 로컬에서는 잘되는데 서버에 올리면 안된다. 그러면 서버에 코어 확장한 파일이 없는걸로 추측되는데요? ㅎㅎ 

형상관리 사용하시면 확장 파일이 add 되었는지 확인해보세요~ ^^

소연신 / 2017/02/23 11:34:32 / 추천 0

@샤오란

히스토리에는 분명 올라간 걸로 나옵니다..ㅜ

샤오란 / 2017/02/23 11:35:20 / 추천 0
사건이 점점 미궁으로 빠져드는군요. ㅎㅎㅎ
샤오란 / 2017/02/23 11:42:40 / 추천 0

방금 검색을 해보니 웹루트에 같은 같은 이름의 컨트롤러가 있어도 이런 에러가 뜬다는 스택 오버플로우 답변이 있네요.. 이것도 확인해보세요~

http://stackoverflow.com/questions/13483677/codeigniter-my-controller-not-found

샤오란 / 2017/02/23 11:46:31 / 추천 0

또 검색을 해보니 자동으로 로딩 안되는 경우가 있다고 하네요. 그래서 코드를 삽입해줘야 한다는 답변도 있네요. 이것도 확인해보시구요~

http://stackoverflow.com/questions/21351808/codeigniter-extending-controller-controller-not-found

소연신 / 2017/02/23 11:49:04 / 추천 0

@샤오란

감사합니다ㅜ 검색까지 해주시고

그거 보고 있었는데 컨피그에 저 오토로드 함수를 넣으면 될까요? 일단 넣었고 서버에 올리는 중입니다ㅜ 제발

카카메론바 / 2017/02/23 12:13:15 / 추천 0
$config['subclass_prefix'] = 'MY_';

코드이그나이터를 사용안한지 꾀 되서;;;

 

사용하시는 버젼에서도 이게 필요한것인지 잘 모르겠지만

config.php 파일에 윗부분이 제대로 설정되어 있으시겠죠? (혹시나 해서...)

아이쿠 죄송합니다. 글을 끝까지 안 읽었네요;; 죄송합니다.

카카메론바 / 2017/02/23 12:34:00 / 추천 0
// Load the base controller class
	require_once BASEPATH.'core/Controller.php';

	/**
	 * Reference to the CI_Controller method.
	 *
	 * Returns current CI instance object
	 *
	 * @return CI_Controller
	 */
	function &get_instance()
	{
		return CI_Controller::get_instance();
	}

	if (file_exists(APPPATH.'core/'.$CFG->config['subclass_prefix'].'Controller.php'))
	{
		require_once APPPATH.'core/'.$CFG->config['subclass_prefix'].'Controller.php';
	}

왜 로드가 안되는지를 알아보시려면... 아무래도 코어파일에서 찍어보셔야 할것 같습니다.

system/core/Codeigniter.php 파일 라인 357번째줄쯤에 위와 같은 코드에서 확장 컨트롤러 로드하는 부분이 걸리는지 안걸리는지 찍어보시면서 테스트 하시면 될것 같습니다.