2012-02-22 1 views
2

을 사용하여 CakePHP 1.3과 함께 Ubuntu 11.10에서 MongoDB를 사용하려고하는데 영구적 인 연결 문제가 발생합니다.CakePHP/MongoDB : 주기적으로 읽기가 실패합니다.

내 모델은 매우 간단합니다. 연결 및 읽기를 시도하고 있습니다.

$this->loadModel('Mongo.Mpoint'); 
    $data = $this->Mpoint->find('first'); 

그러나 결과가 일치하지 않습니다. 시간의 상당한 양의 서버는

오류 324 (순 :: ERR_EMPTY_RESPONSE)를 반환 : 서버가 데이터를 전송하지 않고 연결 을 마감했다.

그러나 새로 고침을 실행하거나 빠르게 여러 번 새로 고침하면 예상되는 반환 된 데이터가 제공됩니다. 반복적으로 서버가 돌아 오면 오류가 발생하지 않으므로 서버가 잠자기 상태로 깨어 있어야합니다.하지만 주관적입니다. 충돌은 연결 자체가 아니라 찾기에서 발생합니다.

나는 결코 연결에 실패한 서버에 rockmongo를 설치했습니다. 또한 문제가 mongodb 자체에 있다고 생각하지 않기 때문에 다른 서버 (mongo와 동일한 버전이지만 centos)에서 연결을 가리키면 동일한 동작을 보게됩니다.

연결을 영구적으로 설정하고 시간 초과를 직접 설정하려고했습니다. 모두 성공하지 못했습니다.

내 동료는 centos 서버에서 직접 실행되는 앱 사본을 가지고 있지만 처음에는이 문제를 보았지만 '없어졌습니다.'라고 말합니다.

그러므로 내가 볼 수있는 것은 서로 다른 서버의 연결이 동일한 결과를 가져오고 PHP의 직접 연결에 문제가 없으므로 cakePHP 계층에서 문제가 발생할 가능성이 높지만 진단을 배치해도 즉각적인 사용은 알 ​​수 없습니다. 서버에서 반환 된 유용한 정보가없는 완벽한 PHP 충돌을 보는 것은 이상한 일입니다. 다른 사람이 이전에이 동작을 보았고 해결 했습니까?

답변

2

Mongodb php 드라이버를 업데이트하십시오. 나는 동일한 문제가있어서 방금 1.2.7에서 1.2.9으로 업그레이드했으며 해결 된 것 같습니다. 그냥 참조 을 위해 내가 PHP - 몽고 - 드라이버와 함께 1.2.9

  • MongoDB를 2.0.2
  • CakePHP의를