로컬에서 잘작동하던 프로젝트입니다.
지금 특정 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();
}
이렇게 잘 선언이 되어있구요.
뭐가 문제인지 해당 모델이 호출이 안됩니다.
이외에 혹시 다른 문제를 일으킬만한 부분이 있는건가요 ?
다른곳도 확인해보니 다른곳 모델들도 안되는군요.. 뭐가 문제일까요 ..
@웅파
제가 또 허술하게 질문했네요..
os는 우분투이고 CI는 2버전입니다.
로컬은 윈도우입니다.
다른 모델은 되는데 해당 모델은 안된다.
아무리 봐도 오류는 아니다.
미치고 팔짝 뛰겠다.
이러면 저는 잘 되는 모델 파일 하나를 그대로 복사해서 넣습니다.
그리고 파일명과 클래스명을 바꾸고, 안되는 모델 파일의 함수들을 복사해서 그대로 넣습니다.
이래도 안되면 파일이나 선언 문제가 아니라, 함수 호출 내부 문제일 수 있거든요.
혹은 중복 클래스명 문제이라면 해당 모델명을 바꿔보는 것도 방법입니다.
정말 의도치 않은 눈에 안보이는 사소한 문제가 사람 미치게 만들죠. ㅎㅎ
@웅파
일단 커넥션은 다 확인해봤는데 정상으로 됩니다.
$this->load->model(); 이게 뭔가 잘작동이 안되는것같습니다.
@kaido 위에 글을 수정했지만 ㅠ 모든 모델이 안되는것같습니다 .. 그냥 model함수가 지금 뭐가잘못된거같아요 불르는 방식이.. 근데 뭔지모르겠습니다..
앞 첫글자가 대문자가 아니라 그런가 해서 auth_model 파일명을 Auth_model파일명으로 바꾸고 model('Auth_model')로 바꿔봤습니다. 그러니까
Unable to locate the model you have specified: auth_model
이렇게 나옵니다.
@웅파
@kaido
ㅠㅠ 해결했습니다.. 제가 사용하는 helper함수 안에 mcrypt 함수가 있는데 php.ini에서 이걸 확장으로 사용하지 않더라구요..
그래서 오류가 나니 .. 표시가 안되고 ..감사합니다 ㅎ
저는 Loader.php에 $model = strtolower($model); 부분이 있어서...
주석걸으니 이후부터 잘 됬었다는... ㅠ.ㅠ
로컬(윈도우)에서는 잘됬었는데... 서버(리눅스)로 올리니 바로 애러가... ㅠ.ㅠ
@Torna Window는 대소문자를 구별하지 않는 OS라서 그렇습니다.
프레임워크 코어는 될수 있으면 수정하지 않는게 좋습니다.
ci 버전은요? 3이면 파일명 첫자 대문자입니다.
로컬은 윈도우인지 리눅스 기반인지? 운영은 리눅스인가요?