제목 | 웹호스팅 올린후 DB연결이 안되요. | ||
---|---|---|---|
글쓴이 | 해머 | 작성시각 | 2010/06/14 11:14:14 |
|
|||
실제URL : http://www.hspartners.kr/ Fatal error: Call to a member function on a non-object in /www/hspartners_kr/system/application/controllers/main.php on line 36 SQL문을 실행하는 부분에서 에러가 발생하는데.... 어디를 확인해 봐야 하는지... 모르겠습니다. $db['default']['pconnect'] = FALSE; 로도 설정해도 안되고..
정말 급합니다.... 아시는분 답변 부탁드립겠습니다.
[database.php] $db['default']['hostname'] = "121.254.168.75"; |
|||
첨부파일 |
phpinfo.zip (1.9 MB) |
||
다음글 | Twitter라이브러리의 결과값을 자바스크립트에서 사용... (2) | ||
이전글 | [초보]모듈 윗 디랙토리에 관하여 (1) | ||
변종원(웅파)
/
2010/06/14 11:27:41 /
추천
0
|
mycastor
/
2010/06/14 11:44:15 /
추천
0
mySQL 사용자 설정 부분에서 localhost만 허용한것 같구요..
DB서버가 별도 외부에 있는 경우에도 mySQL사용자에게 외부 접속 권한을 주셔야 합니다. PHP나 CI 설정 문제가 아닐꺼예요~ |
kirrie
/
2010/06/14 12:50:24 /
추천
0
에러 메세지에 다 나와 있는데요;;
Call to a member function on a non-object 인스턴화된 오브젝트가 아닌 일반 변수에서 멤버 함수를 사용한다, 즉, Bb_post_model 라는 모델이 제대로 로딩되지 않은 것으로 보입니다. |
해머
/
2010/06/14 14:20:36 /
추천
0
웅파님 말대로 아이피를 localhost로 해도 안되고 |
변종원(웅파)
/
2010/06/14 14:45:31 /
추천
0
테스트 컨트롤러 하나 만드셔서 active record로 간단한 쿼리 실행해보세요.
그럼 뭐가 문제인지 알 수 있을것 같네요. kirrie님 말씀은 $this->load->model('Bb_post_model'); 이라는 구문으로 모델 로딩이 됐는지 물어보시는겁니다. 그리고 로컬에서 테스트후 이상이 없었다는 전제하에서 말씀드린건데 대소문자도 한번 보시기 바랍니다. 윈도우서버에서는 대소문자 구분 없습니다. 로그를 남길 수 있게 config.php 수정하고 system/log 의 내용도 보시기 바랍니다. |
kirrie
/
2010/06/14 14:46:53 /
추천
0
만약에 디비 연결에 문제가 있다면 윗단에서 다른 에러가 먼저 났을텐데, 그게 아니라 단순하게 저런 에러가 났다면... 로컬에서는 잘됐는데 호스팅 계정에 업로드 후 동작을 하지 않는다고 하시니 좀 애매모호하긴 하네요.
일반적으로 모델 로딩이 $this->load->model('모델명'); 으로 되어 있을텐데 그 부분을 살펴보시는게 좋을 것 같습니다. 로컬이라면 아마 윈도우즈에서 작업하셨을텐데, 윈도우즈는 파일의 대소문자를 구분하지 않지만 리눅스는 구분합니다. 혹 Bb_post_model 클래스명이 소문자로만 되어 있다거나 하진 않나요? $this->load->model('모델명')과 파일명, 그리고 클래스명이 모두 일치하도록 수정해보세요. |
케이든
/
2010/06/14 14:50:44 /
추천
0
웅파님 kirrie님 댓글에 한표!
|
해머
/
2010/06/14 15:36:11 /
추천
0
"$this->load->model('모델명')과 파일명, 그리고 클래스명이 모두 일치하도록 수정해보세요." 혹시 'controller/Bb_post_model'대신 'controller/bb/Bb_post_model'로
<?
------------------------------------------------- <?
|
변종원(웅파)
/
2010/06/14 15:51:33 /
추천
0
헷갈리니까 ci권고안대로 가시죠.
파일명은 전부 소문자로 클래스명은 첫글자만 대문자로 그리고 가비아 php5 설치되어 있는거 맞는거죠? 모델 하위폴더는 상관이 없습니다. 스펠링만 맞으면 됩니다. 에고... 다시 보니 틀리셨네요. $this->load->model('/bb/Bb_post_model'); // 모델 로드 <- 바꾸기전 모델로딩부분 파일명이 bb.post_model.php 면 $this->load->model('/bb/bb_post_model'); 로 하셔야 합니다. 클래스명과 생성자만 첫글자 대문자로 해야하구요. 매뉴얼 권고안 읽어보시면 왜 그렇게 써놨고 매뉴얼을 읽어보라고 하시는지 알겁니다. http://codeigniter-kr.org/user_guide/general/styleguide.html |
kirrie
/
2010/06/14 16:27:12 /
추천
0
경로 앞에 / 붙이시면 안됩니다.
|
해머
/
2010/06/14 20:43:10 /
추천
0
파일 이름 : bb_post_model.php 모델 로드 : $this->load->model('/bb/bb_post_model'); // 모델 로드 클래스명 과 생성자 명만 대문자"클래스명/생성자"하니까 되는 군요.. 웅파님, kirrie , mycastor 답변감사합니다. 그리고, "경로 앞에 / 붙이시면 안됩니다." => 제가 이상한가요.. / 붙여도 되네요.. ^^a;; |
가입시 웹호스팅업체에서 보내주는 안내문서에 hostname 나와있을텐데요?
가비아 확인해보니 localhost만 지원합니다. 아이피를 localhost로 바꾸시면 됩니다.