インストール手順

警告

この拡張モジュールは非推奨です。 かわりに 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 の拡張モジュール用ディレクトリと一致するかどうかは、次のようにして確認します。
    $ 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
を実行します。

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

extension=mongo.so

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

Windows へのインストール

リリースごとのコンパイル済みバイナリが » 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

OS X

たいていの場合は、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

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

Red Hat

Fedora や CentOS も含みます。

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

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

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

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 環境で立ち上げて動かす様子を示します。

add a note add a note

User Contributed Notes 6 notes

up
10
cap at unagon dot com
8 years ago
For Debian users: apt-get install php5-dev will install phpize for you.
up
3
bradley dot henke at colorado dot edu
4 years ago
Instructions for Manually Installing MongoDB for PHP for use with "XAMPP for Linux":

There were two gotchas that I ran into. "XAMPP for Linux" needs 32 bit libraries, and the php API version must match the php API version of "XAMPP for Linux".
Hopefully this will save someone else time figuring this all out!

1) Install "XAMPP for Linux" AND the "XAMPP for Linux Development Files".

2) Grab the source code from github (in the manual instructions above)
$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz
$ cd mongodb-mongodb-php-driver-<commit_id>

There are now some smalls deviation from the manual instructions...
3) PHPize
$ sudo /opt/lampp/bin/phpize

4) Configure
$ ./configure

5) Make changes to the Makefile (XAMPP requires a 32-bit compilation)
- Choose your favorite text editor and open "Makefile"
- Make the following changes:
Line 20: prefix = /opt/lampp
Line 23: prefix = /opt/lampp
Line 25: phpincludedir = /opt/lampp/include/php
Line 27: CFLAGS = -g -O2 -m32
Line 34: EXTENSION_DIR = /opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/
Line 35: PHP_EXECUTABLE = /opt/lampp/bin/php

Make sure you replace </path/to/mongo-php-driver-master>
Line 38: INCLUDES = -I/opt/lampp/include/php -I/opt/lampp/include/php/main -I/opt/lampp/include/php/TSRM -I/opt/lampp/include/php/Zend -I/opt/lampp/include/php/ext -I/opt/lampp/include/php/ext/date/lib -I</path/to/mongo-php-driver-master>/util -I</path/to/mongo-php-driver-master>/exceptions -I</path/to/mongo-php-driver-master>/gridfs -I</path/to/mongo-php-driver-master>/types -I</path/to/mongo-php-driver-master>/mcon

6) Compile
$ sudo make all

7) Copy the static object into the extension directory
$ sudo cp modules/mongo.so /opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/

9) Update your php.ini file
- Grab you favorite text editor and open /opt/lampp/etc/php.ini (you'll probably need to use sudo).
- Add the line: extension=mongo.so

10) Restart "XAMPP for Linux". You should now be able to see Mongo listed in your phpinfo() page! Installation Complete!!!

Good Luck!
up
2
Andrey
6 years ago
On windows installation check for VC compilator version inside phpinfo(), if you install incorrect one it wouldn't work.
I tried to run on Apache2 with VC6, and always get folowing error:

Fatal error: Class 'Mongo' not found

Until I look into phpinfo and found MSVC9, after that
I install VC9 dll files and it solve the problem.
up
0
Hanakaze
5 years ago
To install the Mongo driver on Windows 7 x64 with EasyPHP, you have to use the x86 driver (instead of x64) and non nts :
php_mongo-1.3.2RC1-5.4-vc9.dll actually
up
-2
poorpuer at gmail dot com
7 years ago
If you're running IIS under Windows 7 and have PHP manager installed you'll also need to manually enable the extension. Start IIS Manager, select PHP Manager, under the section labeled PHP Extensions click on Enable or disable an extension, then enable the php_mongo.dll extension, and restart IIS.
up
-11
brick
3 years ago
Apache 2.4.10 win32 from apachelounge with php 5.6.4 VC11 x86 Thread Safe on windows7 sp1.
The 5.6 Thread Safe (TS) x86 mongo.dll i downloaded from http://pecl.php.net/package/mongo/1.5.8/windows
I kept getting the following error
PHP Startup: Unable to load dynamic library mongo.dll
The specified module could not be found.
I fixed this by adding the php and the php/ext to the windows path and rebooting(log off didn't cut it).
To Top