2011-09-23 2 views
5

나는 codeigniter에 내장 된 웹 응용 프로그램을 가지고 있으며 cloudcontrol으로 호스트되어 있습니다. 필자는 모든 데이터 지속성을 위해 정상적인 MySQL 데이터베이스를 사용하며, 이제는 MySQL 데이터베이스 외에 mongodb 데이터베이스를 사용하려고합니다.codeigniter 위에 구축 된 PHP 앱을 MySQL과 mongoDB 데이터베이스에 동시에 연결할 수 있습니까?

작업 큐로 mongodb를 사용하여 작업자와 응용 프로그램 서버간에 메시지를 유지하려고합니다. 나는이 튜토리얼에서이 작업을 수행 할 수있는 영감을받은했습니다 http://www.captaincodeman.com/2011/05/28/simple-service-bus-message-queue-mongodb/

  1. 가능이인가 -

  2. (simultaniously 데이터베이스의 두 가지 유형을 사용하여 CodeIgniter를 해킹하지 않고과를 /, 나는 그것이 가정 것이다) 이 작업을 수행하기위한 팁은 무엇입니까?

---- 편집 ----

내 CI 프로젝트에서이 라이브러리를 포함 시켰습니다 : $this->load->library('mongo_db'); : https://github.com/alexbilbie/codeigniter-mongodb-library

을 그리고 난을 통해로드 할 때 나는 이걸로 달린다. enter image description here

나는 mysql과 mongodb가 어떻게 작동 하는지를 잘 모른다 ...,

---- 편집 ----

신경 끄시 내 위의 질문, 내가 잘못 설정 파일을 설정하고 오류를 혼동 ...

+0

작업 대기열을위한 소프트웨어를 사용하는 것이 좋을지 모르겠다. – JohnD

+0

@ JohnD, can not - 나는 cloudcontrol을 사용하는 것으로 제한되어 있으며 이것에 대해서는 아무것도 제공하지 않습니다. Amazon SQS를 살펴 보았지만 대기 시간이 너무 길어서 우리의 목적에 비싼 댓가를받을 수 있습니다. –

답변

6

예이가 밖으로, 수를 상자.

구성에 두 개의 그룹을 정의해야합니다 (하나는 mysql, 다른 하나는 mongodb). 그런 다음 응용 프로그램에서 이러한 데이터베이스를 그룹 이름별로로드 할 수 있습니다.

당신의 confugration.php에서

:

$db['mysql']['hostname'] = "localhost"; 
$db['mysql']['username'] = "root"; 
$db['mysql']['password'] = ""; 
$db['mysql']['dbdriver'] = "mysql"; 
//... (full config omitted for brevity) 

$db['mongodb']['hostname'] = "localhost"; 
$db['mongodb']['username'] = "root"; 
$db['mongodb']['password'] = ""; 
$db['mongodb']['dbdriver'] = "mongodb"; 
//... (full config omitted for brevity) 

를 다음과 같이 당신은 당신의 데이터베이스에로드합니다 :

$mysqlDB = $this->load->database('mysql', TRUE); 
$mongoDB = $this->load->database('mongodb', TRUE); 

how to connect to multiple databaseshow to specify configuration groups의 사용자 가이드를 살펴보세요.

관련 문제