Windows環境下XAMPP+MongoDB+ドライバインストール

  • SumoMe

Windows環境でのXAMPPとMongoDBそれと、XAMPP内のPHPからMongoDBを利用するためのドライバのインストールをまとめます。

はじめに

今回は環境はWindows764bitとなります。OSのバージョン、32bit版のOSなどは適宜読み直してください。また、ファイルのパスでバックスラッシュ「\」は円マーク「¥」(半角)としてください。

インストール

XAMPP for Windows

以下のXAMPPの公式サイトから、ダウンロードしてください。執筆現在では1.8.2でしたので、1.8.2のインストーラ付きバージョンをダウンロードしました。

apache friends – xampp for windows
http://www.apachefriends.org/jp/xampp-windows.html

インストーラを起動し、インストール先はデフォルトの「c:\xampp」へインストールしました。以降はこのパスにインストールしたことを前提とします。

インストールすると、「XAMPP Control Panel」というアプリケーションがインストールされますので、起動してみましょう。起動すると様々なアプリケーションを起動・停止・設定するためのウインドウが開きます。今回はwebサーバであるApacheしか利用しませんので、以下の図のように、Apacheの「Start」ボタンを押し、問題なく起動できることを確認してから「Stop」ボタンで停止しましょう。

xcp

MongoDB

MongoDBは以下のページから、適したビルドを選びダウンロードします。今回は2.4.6の64bit版Windowsに対応したもの( mongodb-win32-x86_64-2.4.6.zip )を選びました。環境に合ってものをダウンロードしてください。

MongoDB
http://www.mongodb.org/

ダウンロードしたファイルは解凍し、出来上がったフォルダの名前を「mongodb」と変更し、XAMPPのインストール先である「c:\xampp\」に移動します。移動後に「mongodb」内に「data」「log」フォルダを作成します。

c: --- xampp --- mongodb --- data
                          |
                           - log

サービスへ登録

Mongodの起動や終了などをWindowsのサービスへ登録し、Windowsで起動・終了・自動起動など管理をできるようにしましょう。

スタートボタンを押し、「すべてのプログラム」-> 「アクセサリ」->「コマンドプロンプト」を右クリックし、「管理者として実行(A)…」をクリックしてコマンドプロンプトを起動してください。

コマンドプロンプトに以下のように命令を打ち込み、Enterを押して実行してください。(バックスラッシュ「\」は円マークです。)

cd c:\xampp\mongodb\bin

次に、以下命令を打ち込み、実行してください。

c:\xampp\mongodb\bin>mongod --install --logpath c:\xampp\mongodb\log\log.txt --dbpath c:\xampp\mongodb\data

実行すると、数行の返答が返ってきます。そのなかに「Service creation successful.」と記述されていれば、サービスへの登録成功です。

サービスの確認と起動

コントロールパネルを開き、管理ツールを開いてください。管理ツールの中にある「サービス」をダブルクリックで起動します。サービスウインドウが開き、多くのサービスが一覧で表示されると思いますが、この中から「Mongo DB」を探し出してください。「Mongo DB」をダブルクリックをするとウインドウがさらに開き、サービスの設定ができるようになっています。

WS000031

サービスの状態が、今のサービスが動いているか・停止しているかなどを表しています。その下のボタンで制御してください。

スタートアップの種類のプルダウンメニューは、スタートアップ(Windowsが起動した時など)でどのような振る舞いをするか選択できます。おおざっぱに言えば、自動で勝手に起動しますし、手動にしておけば、今開いているウインドウから手動で実行する必要があります。自動は便利なんですが、不要な場合も勝手に動いているのは気持ち悪いですね。そのあたりはご自由に。

Mongo PHP Driver

最後にPHPのMongoドライバのインストールです。このドライバはPHPからMongoを利用できるようにする仕組みが書かれたプログラムです。以下のサイトからダウンロードしてください。


https://s3.amazonaws.com/drivers.mongodb.org/php/index.html

今回は執筆時にもっとも新しい「php_mongo-1.4.3.zip」をダウンロードしました。このファイルを解凍すると数多くのDLLが現れます。この中から、動作するものを選ぶ必要があります。まずは、PHPのバージョンを知るために、XAMPPの「XAMPP Control Panel」を起動し、Apacheをスタートさせます。すると、「Admin」とうボタンが押せるようになるので、押します。

ブラウザに管理画面が表示されます。この画面の左側にある、phpinfo()をクリックします。

WS000032

phpinfoの画面が開くと上部にバージョンが表記されます。

WS000033

私の環境ではPHPのバージョンが5.4系で、Aritectureが「x86」でした。ということは、32bitのようです。ここから導かれるDLLは「php_mongo-1.4.3-5.4-vc9.dll」と「php_mongo-1.4.3-5.4-vc9-nts.dll」です。私が試したところスレッドセーフ版は動作しませんでしたので、必然的に「php_mongo-1.4.3-5.4-vc9.dll」となりました。すみませんスレッドセーフはわかりますが、どのような条件が必要なのかわかりませんので、割愛します。

「php_mongo-1.4.3-5.4-vc9.dll」を「C:\xampp\php\ext」の中にコピーします。

「C:\xampp\php\php.ini」をメモ帳などで開き、「Dynamic Extensions」と書かれている下に、大量にextensionが書かれていますので、それらの末尾に

extension=php_mongo-1.4.3-5.4-vc9.dll

と追記し、保存します。

Apacheを起動し(起動しているなら再起動)もう一度、「phpinfo()」を開いて、中にMongoの文字がないか検索します。

WS000034

このように表示されていれば成功です。ごくろうさまでした。

もし、Apacheの起動時に何らかのメッセージが表示され、ドライバが読み込まれていないようなら、「php.ini」に間違った記述をした可能性がありますので、dllファイルのコピーからやり直してください。

おわりに

これでPHPからMongoDBが使えるようになる…ハズです。DLL選びに大変苦労しました。以下のサイトを非常に参考にしました。ありがとうございました。

参考

Lithiumを試してみようと思い立って – MongoDBをWindows+XAMPP(PHP)で使う –
http://istb16.wordpress.com/2010/04/20/lithium-mongodb-windows-php/

mongoDBをwindowsXPにインストールしてみよう。

Windows環境下XAMPP+MongoDB+ドライバインストール” への1件のコメント

  1. ピンバック: windows7にmongoDBを導入してみた | ぼっちスターはいざという時輝かない☆

コメントは受け付けていません。