MongoDB PHP ドライバは、ほぼすべてのシステムで動作します。 Windows、Mac OS X、Unix そして Linux。リトルエンディアンマシンおよびビッグエンディアンマシン。 32 ビットマシンおよび 64 ビットマシン。PHP 5.1、5.2 および 5.3。
この » PECL 拡張 モジュールは PHP にバンドルされていません。 このページでは、さまざまなシステムへのインストールに関するより詳細な情報とトラブルシューティングを扱います。
$ sudo pecl install mongo
CentOS あるいは Redhat を使っている場合は、Csoke Arpad が作った » RPM を使うことができます。
php.ini ファイルに次の行を追加します。
extension=mongo.so
インストール中に pecl が out of memory となる場合は、php.ini の memory_limit が 32M 以上あるかどうかを確認しましょう。
ドライバの開発者や最新のバグフィックス版に興味のあるかたは、 » Github にある最新のソースコードからドライバをコンパイルすることもできます。 Github に行き、"download" ボタンをクリックしましょう。そして以下のようにします。
$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz $ cd mongodb-mongodb-php-driver-<commit_id> $ phpize $ ./configure $ sudo make install
php.ini を次のように変更します。
extension_dir 変数が mongo.so の場所を指すようにします。 ビルド中に、PHP ドライバをどこにインストールするのかがこのように表示されます。
Installing '/usr/lib/php/extensions/no-debug-zts-20060613/mongo.so'
$ php -i | grep extension_dir extension_dir => /usr/lib/php/extensions/no-debug-zts-20060613 => /usr/lib/php/extensions/no-debug-zts-20060613
PHP の起動時に拡張モジュールを読み込むために、次の行を追加します。
extension=mongo.so
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 には PHP ドライバのパッケージ dev-php5/mongo があり、 次のようにすればインストールできます。
$ sudo emerge -va dev-php5/mongo
PECL を使う場合は、libtool のバージョンが違うというエラーが出るかもしれません。 ソースからコンパイルするには、aclocal と autoconf を実行しなければなりません。
$ phpize && aclocal && autoconf && ./configure && make && make install
Fedora や CentOS も含みます。
これらのシステム上の Apache のデフォルト設定では リクエストがネットワーク接続できないようにしており、 データベースに接続しようとすると "Permission denied" というエラーが発生します。もしこの現象に遭遇したら、次のコマンドを実行しましょう。
$ /usr/sbin/setsebool -P httpd_can_network_connect 1
リリースごとのコンパイル済みバイナリが » Github にあります。 バージョン、スレッドセーフ/非スレッドセーフ、VCのライブラリのさまざまな組み合わせに対応しています。 アーカイブを Unzip して、php_mongo.dll を PHP 拡張モジュールのディレクトリ (デフォルトは "ext") に置きましょう。
最新の (リリース前の) コードをコンパイルした Windows バイナリも、 コミットのたびに作られています。この zip には、php_mongo.dll が入った zip と version.txt が含まれています。version.txt は常に手元に置いてください。 疑問や問題が発生した場合に、それを使えば正確なバージョンを開発者に伝えることができます (バージョン番号は非常に長くて意味がなさそうな数値ですが、 開発者たちにとってはそれが重要な意味を持つのです!)。
最新のバグフィックス版を取得するは、 インストールしている PHP に対応したバイナリをダウンロードします。
そして、php.ini に次の行を追加します。
extension=php_mongo.dll
PHP 用ドライバのインストールに関するすばらしいチュートリアルが、 多くのかたによって公開されています。
» PHP 5.3.1 with Xdebug, MongoDB and Lithium on Ubuntu 9.10 / Apache 2.2
Jon Adams によるすばらしい動画です。 Apache, PHP, Xdebug, MongoDB, そして Lithium のインストール手順をひとつひとつ説明しています。
» Installing MongoDB and the PHP driver on Ubuntu 9.04
Javier Aranda によるスペイン語の記事です (» 英語訳)。
» OS X: Installing MongoDB and the PHP Mongo Driver
Matt Butcher によるものです。