Установка MongoDB на Ubuntu 10.04 и связывание с PHP
MongoDB - это документная база данных, написанная на c++. Для обмена данными с клиентом использует JSON, а хранит в двоичном формате BSON. По методу обмена данными эта база данных относится к NoSQL, т.е. использует не классический метод для взаимодействия реляционных баз данных и клиента (без SQL).
Для установки в Ubuntu достаточно прописать в консоле:
sudo apt-get install mongo
По окончании установки, для проверки работоспособности, выполните в консоле:
mongo
Вы должны увидеть примерно следующее приветствие:
MongoDB shell version: 1.2.2
type "exit" to exit
type "help" for help
Возможные проблемы:
mongo: error while loading shared libraries: libmozjs.so: cannot open shared object file: No such file or directory
Монго ругается на недостающую библиотеку, попробуем ее найти
$ find /usr/lib -name libmozjs.so
# если библиотека не нашлась, то необходимо установить firefox, и повторить
$ sudo apt-get install firefox
#У нас есть путь, теперь необходимо сделать так, что бы mongo его увидела
#для этого необходимо ее поместить в /usr/lib, это делается одним из способов ниже
$ sudo cp <lib-path> /usr/lib
$ sudo ln -s <lib-path> /usr/lib/libmozjs.so
JS Error: Error: couldn't connect: couldn't connect to server 127.0.0.1 127.0.0.1:27017 (anon):1028
Скорее всего сервер просто не запущен
sudo service mongodb start
Устанавливаем соединение PHP с MongoDB
Установку будем проводить через PECL, если он не установлен, то выполняем следующее
sudo apt-get install php-pear
sudo pecl install mongo
sudo sh -c "echo 'extension=mongo.so' > /etc/php5/conf.d/mongo.ini"
sudo service apache2 restart
php -i | grep -i mongo
Последняя команда должна вывести нечто подобное
/etc/php5/cli/conf.d/mongo.ini,
mongo
MongoDB Support => enabled
mongo.allow_persistent => 1 => 1
mongo.auto_reconnect => 1 => 1
mongo.chunk_size => 262144 => 262144
mongo.cmd => $ => $
mongo.default_host => localhost => localhost
mongo.default_port => 27017 => 27017
mongo.long_as_object => 0 => 0
mongo.native_long => 0 => 0
mongo.utf8 => 1 => 1</pre>
На этом установка завершена, можно сделать тестовое подключение
$mongo = new Mongo('localhost');
$database = $mongo -> test;
$item = array(
"id" => "ololo"
);
$database -> items -> insert($item);
$cursor = $database -> items -> find( array("id" => "ololo") );
foreach($cursor as $item){
var_dump($item);
}
Надеюсь эта статья окажется вам полезной