Korzystam z wersji PHP 7.0 na Ubuntu 16.04. Podaję szczegółowe informacje na temat instalacji sterownika / klienta Mongo. Najpierw ręcznie zainstalowałem dla niego sterownik mongodb, a następnie sterownik mongodb-php.
1) Instalowanie bazy danych mongo. Wprowadź następujące polecenia:
$ 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
Aby poprawnie uruchomić Mongdb jako usługę, tj. Automatycznie uruchamiać Mongodb po uruchomieniu systemu, wykonaj następujące kroki:
Utwórz plik mongodb.service w / etc / systemd / system / wpisując polecenie:
$ sudo nano /etc/systemd/system/mongodb.service
Wklej w nim następującą zawartość:
[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
Następnie wprowadź następujące polecenia:
$ sudo systemctl start mongodb
$ sudo systemctl enable mongodb
2) Instalowanie sterownika mongo-php:
$ sudo pecl install mongodb
Może również pojawić się błąd: nie znaleziono phpize. Phpize to polecenie używane do tworzenia środowiska kompilacji. Ten błąd może pojawić się podczas instalacji dowolnego rozszerzenia pecl. Aby rozwiązać ten problem, nie znaleziono komendy phpize, użytkownik musi zainstalować pakiet php5-dev. Aby zainstalować, wprowadź polecenie:
$ sudo apt-get install php7.0-dev
Następnie w pliku php.ini, który znajduje się w katalogu /etc/php/7.0/apache2, dodaj rozszerzenie db bazy danych mongo:
$ sudo nano /etc/php/7.0/apache2/php.ini
Dodaj następujący wiersz do pliku:
rozszerzenie = mongo.so;
(Może być konieczne podanie dokładnej lokalizacji pliku. W moim przypadku plik znajdował się w /usr/lib/php/20151012/mongodb.so.)
Tak więc mongo db jest instalowany wraz ze sterownikiem.
3) Teraz pamiętaj, że klasy mongo-php zostały zmienione. Większość dostępnych zasobów w sieci daje rozwiązania wykorzystujące stare klasy, które są zastępowane. Poniżej znajdują się linki, do których możesz się odwoływać:
http://php.net/manual/en/set.mongodb.php
http://zetcode.com/db/mongodbphp/
Oto kilka poleceń podstawowych operacji na bazie danych:
$mng = new MongoDB\Driver\Manager(); // Driver Object created
Aby wstawić dane do bazy danych:
$bulk = new MongoDB\Driver\BulkWrite;
$doc = ["_id" => new MongoDB\BSON\ObjectID, "data" => $someData, "info" => $someInfo];
$bulk->insert($doc);
$mng->executeBulkWrite('dbName.collectionName', $bulk);
Do pobierania danych:
$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
ale nie uzyskałem żadnego pozytywnego rezultatu