はじめに
卒研生がMongoDBのインストールで詰まってるので手順書を書きます.MongoDB本体のインストールやパスなどは既に通っていると想定しています.
インストール作業
各種設定をする前に,必要な物をインストールしたり,データを入れたりします.
XAMPPのインストール
XAMPPのダウンロードサイトから,適当なXAMPPをダウンロードしてきてください.
https://osdn.jp/projects/xampp/
XAMPPは7zという圧縮ファイルになっているため,7-zipなどのアーカイバを使って解凍します.XAMPPの圧縮ファイルを解凍すると,xamppフォルダが新しく作られます.このフォルダは便宜的にCドライブ直下に入れてください.
xamppフォルダの中には,PHPやApache,MySQLなどが入っています.ですが,この状態だとインストールは完了していません.xamppフォルダにsetup_xampp.batが入っているので,それを実行してください.黒い画面が立ち上がってしばらくするとインストールが終わります.
MongoDBドライバのインストール
MongoDBドライバは,PHPのバージョンによって必要なファイルが異なります.なので,ダウンロードする前にPHPとMongoDBのバージョンを確認する必要があります.
まずはXAMPPを起動してください.XAMPPからApacheのサービスを立ち上げて,Adminをクリックしてください.
ブラウザが立ち上がり,XAMPPのダッシュボードが表示されます.上のメニューからPHPInfoをクリックしてください.
PHP Version ~とデカい文字で書いてあるので,そのバージョンを控えてください.この説明では,「PHP Version 5.6.14」と想定して説明を続けます.
PHPからMongoDBを動かすには,MongoDBドライバというものが必要です.MongoDBドライバは以下のサイトで配布しています.
http://pecl.php.net/package/mongo
サイトを開くと,MongoDBの各種バージョンが配布されています.ここでは「1.6.11」を例に説明します.
1.6.11の「田DLL」のリンクをクリックします.
PHPのバージョンは5.6なので,5.6 Thread Safe (TS) x86をクリックしてください.ダウンロードが開始されます.
MongoDBドライバを解凍すると,中にphp_mongo.dllが入っています.php_mongo.dllをC:\xampp\php\ext
にコピーしてください.
これでMongoDBドライバのインストールが完了です.
設定作業
php.iniでの設定
php.iniとは,PHPの設定ファイルのことです.php.iniはC:\xampp\php
に入っています.
php.iniを開くと,様々な設定が書いてあります.とりあえず,ファイルの一番最後に以下の内容を追加してください.
extension=php_mongo.dll
この設定をすることで,Apache起動時にMongoDBドライバがロードされるようになります.
パスの設定
このまま,XAMPPからApacheをStop->Startしようとすると,libsasl.dllがないとか言われて動きません.libsasl.dllが必要なのに,Apacheがどこにあるのかわかっていないので,libsasl.dllの場所などを教えてあげる必要があります.
環境変数のパスの設定方法は知っていると仮定して説明します.以下のパスを環境変数Pathに追加してください.
C:\xampp\php\ext
C:\xampp\php
これで,Apacheを再起動してもエラーが出なくなります.
MongoDBドライバが正常に読み込まれてるか確認してください.PHPInfoで確認できます.
動作の確認
最後に動作の確認を行います.mongodコマンドを使ってMongoDBサーバを立ち上げてください.MongoDBサーバを立ち上げたら,データベースがちゃんと開いているかどうか,mongoコマンドを使って確認してください.
次に,PHPで動作するかどうか確認します.
とりあえず,Apacheを再起動します.
htdocsに以下のファイルを置いてください.
<?php
// MongoDBクライアントの作成
$mongo = new MongoClient();
echo "mongoのステータス<br>";
var_dump($mongo);
echo "<br><br>";
// データベースの中身を見る
echo "データベースのリスト<br>";
var_dump($mongo->listDBs());
echo "<br><br>";
// データベースの選択
$db = $mongo->selectDB("danbooru");
echo "データベースの情報<br>";
var_dump($db);
echo "<br><br>";
// コレクションの選択
$collection = $db->selectCollection("posts");
echo "コレクションの情報<br>";
var_dump($collection);
echo "<br><br>";
// 以下の2行は
// $db = $mongo->selectDB("danbooru");
// $collection = $db->selectCollection("posts");
// 下の1行と同じ意味です
// $collection = $mongo->selectCollection("danbooru", "posts");
echo "データの数:";
print $collection->count();
echo "<br><br>";
?>
エラーが出ずにデータの数が表示されたら完了です.
勉強方法
以下のサイトを参照してください.MongoDBの使い方が全部書いてあります.
http://php.net/manual/ja/mongo.core.php