この拡張モジュールは非推奨です。 かわりに MongoDB 拡張モジュールを使うべきです。
MongoDB PHP ドライバは、ほぼすべてのシステムで動作します。 Windows、Mac OS X、Unix そして Linux。リトルエンディアンマシンおよびビッグエンディアンマシン。 32 ビットマシンおよび 64 ビットマシン。PHP 5.3 から 5.6 (1.6 より前のバージョンは、PHP 5.2 もサポートします)。
この » 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 -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 の起動時に拡張モジュールを読み込むために、次の行を追加します。
extension=mongo.so
$ sudo pecl install mongo
CentOS あるいは Redhat を使っている場合は、 » RPM からインストールできます。
php.ini ファイルに次の行を追加します。
extension=mongo.so
インストール中に pecl が out of memory となる場合は、php.ini の memory_limit が 128M 以上あるかどうかを確認しましょう。
リリースごとのコンパイル済みバイナリが » PECL にあります。 バージョン、スレッドセーフ/非スレッドセーフ、VCのライブラリのさまざまな組み合わせに対応しています。 アーカイブを Unzip して、php_mongo.dll を PHP 拡張モジュールのディレクトリ (デフォルトは "ext") に置きましょう。
php.ini に次の行を追加します。
extension=php_mongo.dll
注意: Windows ユーザー向けの、追加で必要となる DLL
この拡張モジュールを動作させるには、 Windows システムの PATH が通った場所に DLL ファイルが存在する必要があります。 FAQ の "Windows で PHP のディレクトリを PATH に追加するにはどうすればいいのですか?" で、その方法を説明しています。 DLL ファイルを PHP のフォルダから Windows のシステムディレクトリにコピーしても動作します (システムディレクトリは、デフォルトで PATH に含まれるからです) が、これは推奨しません。 この拡張モジュールを使用するには、以下のファイルが PATH の通った場所にある必要があります。 libsasl.dll
たいていの場合は、pecl でインストールするのがいちばん簡単です。
$ sudo pecl install mongo
» Homebrew を使う場合は、 PHP tap の中にこのドライバ用のフォーミュラが含まれています。たとえば PHP 5.6 用のドライバをインストールするには、 次のコマンドを利用します。
$ brew install php56-mongo
» XAMPP を使う場合は、 専用の pecl ライブラリと php.ini 設定があることに注意しましょう。 ドライバをインストールするには、次のコマンドを利用します。
$ sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo
注意: OS X 上でコンパイルするための Xcode の依存関係
OS X 上でドライバをコンパイルするためには Xcode developer tools が必要です。 これは、
xcode-select --install
でインストールできます。 このコマンドが存在しない場合は、まずは » Command Line Tools パッケージをインストールする必要があります。
Gentoo には PHP PECL ドライバのパッケージ dev-php/pecl-mongo があり、 次のようにすればインストールできます。
$ sudo emerge -va dev-php/pecl-mongo
PECL を使う場合は、libtool のバージョンが違うというエラーが出るかもしれません。 ソースからコンパイルするには、aclocal と autoconf を実行しなければなりません。
$ phpize $ aclocal $ autoconf $ ./configure $ make $ sudo make install
Fedora や CentOS も含みます。
これらのシステム上の Apache のデフォルト設定では リクエストがネットワーク接続できないようにしており、 データベースに接続しようとすると "Permission denied" というエラーが発生します。もしこの現象に遭遇したら、次のコマンドを実行しましょう。
$ /usr/sbin/setsebool -P httpd_can_network_connect 1
PHP 用ドライバのインストールに関するすばらしいチュートリアルが、 多くのかたによって公開されています。
» (Re)installing PHP on Mac OS X
Justin Hileman による記事で、PHP や拡張モジュールを OS X 上の Homebrew でインストールする手順を示します。 このページの前半にある、Homebrew によるドライバのインストール手順を補完してくれることでしょう。
» PHP 5.3.1 with Xdebug, MongoDB and Lithium on Ubuntu 9.10 / Apache 2.2
Jon Adams によるスクリーンキャストで、PHP 5.3.1 や Xdebug と MongoDB を Ubuntu 9.10 と Apache 環境で立ち上げて動かす様子を示します。