Я використовую php версії 7.0 на ubuntu 16.04. Я надаю детальну інформацію про встановлення драйвера / клієнта mongo. Спочатку я вручну встановив mongodb, а потім драйвер mongodb-php для цього.
1) Встановлення mongo db. Введіть такі команди:
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
$ sudo apt-get update
$ sudo apt-get install -y mongodb-org
Щоб правильно запустити Mongdb як послугу, тобто автоматично запустити Mongodb при запуску системи, виконайте наступні кроки:
Створіть файл mongodb.service в / etc / systemd / system /, ввівши команду:
$ sudo nano /etc/systemd/system/mongodb.service
Вставте в неї такий вміст:
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
Потім введіть такі команди:
$ sudo systemctl start mongodb
$ sudo systemctl enable mongodb
2) Встановлення драйвера mongo-php:
$ sudo pecl install mongodb
Також ви можете отримати помилку: phpize не знайдено. Phpize - це команда, яка використовується для створення середовища побудови. Ця помилка може з’явитися під час встановлення будь-якого розширення pecl. Щоб вирішити цю проблему команди phpize не знайдено, користувачеві необхідно встановити пакунок php5-dev. Щоб встановити його, введіть команду:
$ sudo apt-get install php7.0-dev
Потім у файл php.ini, який знаходиться в каталозі /etc/php/7.0/apache2, додайте розширення mongo db:
$ sudo nano /etc/php/7.0/apache2/php.ini
Додайте у файл наступний рядок:
розширення = mongo.so;
(Можливо, вам потрібно буде вказати точне розташування файлу. У моєму випадку файл був у /usr/lib/php/20151012/mongodb.so.)
Тож mongo db встановлюється разом із його драйвером.
3) Тепер майте на увазі, що класи монго-php були змінені. Більшість доступних ресурсів у мережі надають рішення, використовуючи старі класи, які замінені. Нижче наведено посилання, на які можна посилатися:
http://php.net/manual/en/set.mongodb.php
http://zetcode.com/db/mongodbphp/
Ось кілька команд для основних операцій з базою даних:
$mng = new MongoDB\Driver\Manager(); // Driver Object created
Щоб вставити дані в базу даних:
$bulk = new MongoDB\Driver\BulkWrite;
$doc = ["_id" => new MongoDB\BSON\ObjectID, "data" => $someData, "info" => $someInfo];
$bulk->insert($doc);
$mng->executeBulkWrite('dbName.collectionName', $bulk);
Для отримання даних:
$query = new MongoDB\Driver\Query([]);
$rows = $mng->executeQuery("dbName.collectionName", $query);
foreach ($rows as $row)
{
echo "$row->data - $row->info\n";
}
sudo apt-get install php7-mongo
теж спробував це, але не отримав жодного позитивного результату