インストール手順

MongoDB PHP ドライバは、ほぼすべてのシステムで動作します。 Windows、Mac OS X、Unix そして Linux。リトルエンディアンマシンおよびビッグエンディアンマシン。 32 ビットマシンおよび 64 ビットマシン。PHP 5.2、5.3、5.4 および 5.5。

この » PECL 拡張 モジュールは PHP にバンドルされていません。

手動インストール

ドライバの開発者や最新のバグフィックス版に興味のあるかたは、 » Github にある最新のソースコードからドライバをコンパイルすることもできます。 Github に行き、"download" ボタンをクリックしましょう。そして以下のようにします。


$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz
$ cd mongodb-mongodb-php-driver-<commit_id>
$ phpize
$ ./configure
$ make all
$ sudo make install

php.ini を次のように変更します。

  • extension_dir 変数が mongo.so のあるディレクトリを指すようにします。 ビルド中に、PHP ドライバをどこにインストールするのかがこのように表示されます。

    
    Installing '/usr/lib/php/extensions/no-debug-non-zts-20060613/mongo.so'
    
    
    この場所が PHP の拡張モジュール用ディレクトリと一致するかどうかは、次のようにして確認します。
    
    $ php -i | grep extension_dir
      extension_dir => /usr/lib/php/extensions/no-debug-non-zts-20060613 =>
                       /usr/lib/php/extensions/no-debug-non-zts-20060613
    
    
    もし一致しない場合は、php.ini の extension_dir を変更するか、あるいは mongo.so を移動させます。

  • PHP の起動時に拡張モジュールを読み込むために、次の行を追加します。

    
    extension=mongo.so
    
    

*NIX へのインストール


$ sudo pecl install mongo

を実行します。

CentOS あるいは Redhat を使っている場合は、 » RPM からインストールできます。

php.ini ファイルに次の行を追加します。


extension=mongo.so

インストール中に pecl が out of memory となる場合は、php.ini の memory_limit が 128M 以上あるかどうかを確認しましょう。

Windows へのインストール

リリースごとのコンパイル済みバイナリが » Github にあります。 バージョン、スレッドセーフ/非スレッドセーフ、VCのライブラリのさまざまな組み合わせに対応しています。 アーカイブを Unzip して、php_mongo.dll を PHP 拡張モジュールのディレクトリ (デフォルトは "ext") に置きましょう。

php.ini に次の行を追加します。


extension=php_mongo.dll

OS X

autoconf が見つからない場合は、Xcode をインストールしなければなりません (これは、OS X のインストール DVD の中にあります。あるいは Apple のウェブサイトから無料でダウンロードすることもできます)。

XAMPP を使っている場合は、次のコマンドでドライバをコンパイルすることができます。


sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo

MAMP を使っている (あるいは XAMPP を使っているけれども上のコマンドがうまく動かない) 場合は、コンパイル済みのバイナリを » Github から取得します (最新版の "osx" の中から、PHP のバージョンにあわせたものをダウンロードします)。 アーカイブから mongo.so を取り出して MAMP あるいは XAMPP の拡張モジュール用ディレクトリに追加し、 php.ini に


extension=mongo.so

を追加してからサーバーを再起動します。

Gentoo

Gentoo には PHP ドライバのパッケージ dev-php5/mongo があり、 次のようにすればインストールできます。


$ sudo emerge -va dev-php5/mongo

PECL を使う場合は、libtool のバージョンが違うというエラーが出るかもしれません。 ソースからコンパイルするには、aclocal と autoconf を実行しなければなりません。


$ phpize
$ aclocal 
$ autoconf 
$ ./configure
$ make
$ sudo make install

Red Hat

Fedora や CentOS も含みます。

これらのシステム上の Apache のデフォルト設定では リクエストがネットワーク接続できないようにしており、 データベースに接続しようとすると "Permission denied" というエラーが発生します。もしこの現象に遭遇したら、次のコマンドを実行しましょう。

$ /usr/sbin/setsebool -P httpd_can_network_connect 1 
そして Apache を再起動します (この問題は、SELinux の環境で発生します)。

その他のインストール説明

PHP 用ドライバのインストールに関するすばらしいチュートリアルが、 多くのかたによって公開されています。