2011-12-05 7 views
0

컨트롤러에 5 개의 모델을로드하면 모든 모델에 대해 데이터베이스에 연결이 별도로 설정됩니까?CodeIgniter의 모델 로딩 관련 문제

각 모델의 데이터베이스 연결을 위해 여러 개의 포트를 열어 서버가 정지되는 문제가 발생합니다.

해결책이 있다면?

미리 감사드립니다.

+2

100 % 이유가 확실합니까? –

+0

codeigniter에서 사용하기 전에 mysql 클라이언트에서 쿼리를 실행 해 보셨습니까? – Catfish

답변

0

아니요, codeigniter는로드하는 모든 모델에 대해 새 데이터베이스 연결을 설정해야합니다. codeigniter가 여러 포트를 열었다는 결론을 어떻게 내 렸습니다? 가능하지 않아야합니다.

0

아니요, CodeIgniter는 각 모델/라이브러리 (또는 한 번에 하나의 데이터베이스 연결) 인스턴스를 하나만 만들 수있는 단일 패턴을 사용합니다.

문제는 데이터베이스 쿼리에있는 것 같습니다. 응답 속도가 느릴 수 있습니다. 데이터베이스 구성에서 지속적 연결을 사용하고 있습니까?

많은 질문이 있지만 의견이 많지 않으므로 추측 할 수만 있습니다.

0

문제가 100 % 확실합니까? 그 어떤 모델도로드하지 못했습니다. CI는 일종의 싱글 톤으로 작동하기 때문에 객체가 항상 하나이므로 인스턴스가 이미 존재하는 경우 클래스가 다시로드되거나 다시 인스턴스화되지 않습니다.

데이터베이스에 문제가있는 경우 config/database.php에서 pconnect (영구 연결)를 FALSE로 설정해보십시오. 캐싱을 ON으로 설정하면 도움이 될 수도 있습니다.

$db['test']['pconnect'] = FALSE; 
$db['test']['db_debug'] = TRUE; 
$db['test']['cache_on'] = TRUE;