PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

インストール手順 | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

インストール手順

警告

この拡張モジュールは非推奨です。 かわりに 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 環境で立ち上げて動かす様子を示します。


忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「インストール手順」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | インストール手順」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: