CI 묻고 답하기

제목 CI에서 model 호출관련 오류 질문입니다.
카테고리 CI 2, 3
글쓴이 브레인토스트 작성시각 2016/12/02 16:03:01
댓글 : 10 추천 : 0 스크랩 : 0 조회수 : 16689   RSS

로컬에서 잘작동하던 프로젝트입니다.

 

지금 특정 Model만 호출이 안되는것같습니다.

에러화면이 프로젝트 상에서 뜨진 않고 500에러만 배출합니다.

$this->load->model('login'); 을 기점으로

오류가 나는것과 나기전이 구분이 되는 것 같은데요.

 

검색해보니 파일명이 컨트롤러와 동일하다던지 그런 문제가 있었는데 그런건  아닌 것 같습니다.

현재 사용하려는 controller는 class Auth extends CI_Controller로 정상적으로 되어있고 파일명은 auth.php로 되어있습니다.

Model은 class Login extends CI_Model 파일명은 login.php 입니다..(이 부분은 원래 auth_model.php 파일과 클래스명이였으나 혹시나해서 아예 다르게 바꿧습니다.

 

model에 있는 생성자는

public function __contsruct()

{

    parent::__construct();

}

이렇게 잘 선언이 되어있구요.

 

뭐가 문제인지 해당 모델이 호출이 안됩니다.

이외에 혹시 다른 문제를 일으킬만한 부분이 있는건가요 ?

다른곳도 확인해보니 다른곳 모델들도 안되는군요.. 뭐가 문제일까요 ..

 다음글 환경변수 자동 설정? (2)
 이전글 view에서 session 정보 가져오기 (11)

댓글

변종원(웅파) / 2016/12/02 16:07:02 / 추천 0

ci 버전은요? 3이면 파일명 첫자 대문자입니다. 

로컬은 윈도우인지 리눅스 기반인지? 운영은 리눅스인가요?

브레인토스트 / 2016/12/02 16:10:39 / 추천 0

@웅파

제가 또 허술하게 질문했네요..

os는 우분투이고 CI는 2버전입니다.

로컬은 윈도우입니다.

변종원(웅파) / 2016/12/02 16:17:58 / 추천 0
db 연결 (호스트, 아이디, 비밀번호) 설정 체크해보시고 native php에서 mysql connect 되는지 체크해보세요.
kaido / 2016/12/02 16:20:34 / 추천 0

다른 모델은 되는데 해당 모델은 안된다.

아무리 봐도 오류는 아니다.

미치고 팔짝 뛰겠다.

 

이러면 저는 잘 되는 모델 파일 하나를 그대로 복사해서 넣습니다.

그리고 파일명과 클래스명을 바꾸고, 안되는 모델 파일의 함수들을 복사해서 그대로 넣습니다.

이래도 안되면 파일이나 선언 문제가 아니라, 함수 호출 내부 문제일 수 있거든요.

혹은 중복 클래스명 문제이라면 해당 모델명을 바꿔보는 것도 방법입니다.

 

정말 의도치 않은 눈에 안보이는 사소한 문제가 사람 미치게 만들죠. ㅎㅎ

브레인토스트 / 2016/12/02 17:18:46 / 추천 0

@웅파

일단 커넥션은 다 확인해봤는데 정상으로 됩니다.

$this->load->model(); 이게 뭔가 잘작동이 안되는것같습니다.

브레인토스트 / 2016/12/02 17:19:17 / 추천 0

@kaido 위에 글을 수정했지만 ㅠ 모든 모델이 안되는것같습니다 .. 그냥 model함수가 지금 뭐가잘못된거같아요 불르는 방식이.. 근데 뭔지모르겠습니다..

브레인토스트 / 2016/12/02 17:20:56 / 추천 0

앞 첫글자가 대문자가 아니라 그런가 해서 auth_model 파일명을 Auth_model파일명으로 바꾸고 model('Auth_model')로 바꿔봤습니다. 그러니까 

An Error Was Encountered

Unable to locate the model you have specified: auth_model

 

이렇게 나옵니다.

브레인토스트 / 2016/12/05 10:19:17 / 추천 0

@웅파

@kaido

ㅠㅠ 해결했습니다.. 제가 사용하는 helper함수 안에 mcrypt 함수가 있는데 php.ini에서 이걸 확장으로 사용하지 않더라구요..

그래서 오류가 나니 .. 표시가 안되고 ..감사합니다 ㅎ

Torna / 2017/05/16 17:05:29 / 추천 0

저는 Loader.php에 $model = strtolower($model); 부분이 있어서...

주석걸으니 이후부터 잘 됬었다는... ㅠ.ㅠ

로컬(윈도우)에서는 잘됬었는데... 서버(리눅스)로 올리니 바로 애러가... ㅠ.ㅠ

한대승(불의회상) / 2017/05/16 17:11:25 / 추천 0

@Torna Window는 대소문자를 구별하지 않는 OS라서 그렇습니다.

프레임워크 코어는 될수 있으면 수정하지 않는게 좋습니다.