在XAMPP环境中使用MongoDB处理数据
首先
我将为研究生们写一份操作手册,因为他们在安装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″作为例子进行说明。
点击6月11日的“田DLL”链接。
请点击5.6线程安全(TS)x86选项来下载,因为PHP版本为5.6。下载将会开始。
解压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停止 -> 启动,将会出现libsasl.dll不存在的错误,导致无法运行。由于Apache不知道libsasl.dll的位置在哪里,所以需要告诉它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