1.環境
さくらVPS(CentOS release 6.5 Final)
上記サーバーにyumでMongoDBを入れたあと、PHPから使えるように設定します。
2.MongoDBをyumコマンドでインストール
【1】yumリポジトリ追加
# vi /etc/yum.repos.d/10gen.repo
--------------------------------
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0
enabled=0
【2】MongoDBインストール
# yum install mongo-10gen mongo-10gen-server --enablerepo=10gen
【3】mongod サービスを起動
# /etc/init.d/mongod start
【4】コマンドラインで起動確認
# mongo
MongoDBのバージョンが表示されればOKです。exit で抜けられます。
3.PHPから使えるようにする
前提:peclコマンドでPHP用mongoモジュールをインストールしますので、環境にphp-pearが無い場合は次の手順で入れて下さい。
【0】(まだ無い場合)php-pearをインストール
yum install php-pear
pear upgrade --force Archive_Tar
pear upgrade --force Console_Getopt
pear upgrade PEAR
【1】PHP用mongoモジュールをインストール
pecl install mongo
エラーが出る場合
pecl install mongo で「ERROR: `phpize' failed」が出た場合、php-develパッケージをインストールするとphpizeがついて来るので、次のコマンドで入れたあと、再挑戦。
yum install php-devel
【2】php.iniを編集してApache再起動
# vi /etc/php.ini
-----------------
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
extension=json.so
extension=mongo.so
---------------
# service httpd restart
補足
json.so については任意ですが、後の手順でPHPとの連携がうまくいかない場合があるため、あらかじめ記載しておきます。(逆に、不要な場合は消して下さい)
4.そしてPHPからDB接続
こんな感じで INSERT や SELECT ができます。(PHPファイルの文字コードはUTF-8)
<?php
// DBへ接続
$mongo = new Mongo();
// データベースを指定
$db = $mongo->selectDB("db_test");
// コレクションを指定
$coll = $db->selectCollection("coll_test");
$coll->update(
array('user_id' => '123'), // WHERE句に相当
array('$set' => array('user_name' => '南方 熊楠')), // SET句に相当
array('upsert' => true) // UPDATE or INSERT(無ければ挿入)
);
// コレクションのドキュメントを全件取得
$docs = $coll->find();
// 表示 ※MongoCursorオブジェクトが取得されるのでforeachで回す
foreach ($docs as $id => $obj) {
print "<pre>";
print var_dump($obj);
print "</pre><hr>";
}
?>
DBやテーブル(コレクション)は事前にCREATEする必要はありません。存在しなければ自動的に作られます。すわ!便利。より詳しいDB操作については下記ページを参考にして下さい。
▼SQL から Mongo への対応表
http://www.php.net/manual/ja/mongo.sqltomongo.php
参考URL
mongodbをインストールして、phpでアクセス
http://m-shige1979.hatenablog.com/entry/2013/09/16/233024
MongoDB|PHP公式
http://jp.php.net/mongo
また、MongoDBのWEB管理ツールとしては RockMongo をオススメします。
RockMongoインストール
http://qiita.com/yasumodev/items/e782ca81ab85726d9771
(・o・ゞ いじょー。