MongoCursorTimeoutException
MongoGridFSException
Exceptions
PHP Manual

# MongoConnectionException クラス

## 導入

ドライバがデータベースへの接続に失敗した場合にスローします。

エラーメッセージにはさまざまなものがあり、 接続時にどんな問題が発生したのかを調べるために役立ちます。 以下にエラーメッセージの例を示します。

- No server name given.

  このエラーが発生するのは、サーバ名に "" を渡した場合です。 考えられる原因は、文字列中での変数展開用の変数の書き間違い (たとえば "$server" とすべきところを "$servr" にした) などです。

- failed to get host [hostname] or port [portnum] from [server].

  このエラーがあらわすのは、サーバ文字列が不正な形式であるということです。 "[hostname]" および "[portnum]" の部分が、 ドライバがなんとかそれを判読した結果を示しています。

- Operation in progress

  データベースへの接続がタイムアウトしました。

- couldn't determine master

  ペア接続のどちらのサーバもマスタではありません。

- couldn't get host info for [server]

  これがあらわすのは、指定したサーバアドレスを DNS が解決できなかったということです。 打ち間違い ("$server" と書くべきところを "server" とするなど) があると容易にこのエラーが発生します。

- Invalid Argument

  これは、マシン自体は立ち上がっているもののデータベースは稼動していないマシンに接続しようとした場合などに発生します。 接続前に、データベースサーバが起動しているかどうか確認しておきましょう。

- Permission denied

  権限に関する問題があってソケットをオープンできなかったことをあらわします。 Red Hat 系の OS のデフォルト設定では Apache からネットワーク接続を作成できないようになっているので、 デフォルトでこれが発生します。この設定を書き換えるには、

      $ /usr/sbin/setsebool -P httpd_can_network_connect 1

  を実行してから Apache を再起動します。

これら以外のメッセージが出た場合、おそらくそれは C のソケットからのエラーです。 主な原因についてはウェブを検索して調べましょう。

## クラス概要

MongoConnectionException
extends MongoException {
}

MongoCursorTimeoutException
MongoGridFSException
Exceptions
PHP Manual