Как установить расширение Mongodb PHP в Ubuntu 16.04 LTS

15

Я запускаю Ubuntu 16.04 LTS, и я хочу использовать Mongodb с PHP. Для этого я подумал, что sudo apt-get install php5-mongo (которого достаточно для Ubuntu 14.04 LTS) будет достаточно, но я ошибся. Я получаю ошибку, например, E: Unable to locate package php5-mongo .

Я только что обновился до Ubuntu 16.04 LTS и хочу использовать mongodb с PHP . Запуск PHP-версии - PHP Version 7.0.4-7ubuntu2 .

Итак, что я могу сделать, чтобы решить эту проблему?

    
задан Vicky R 29.04.2016 в 23:01
источник

5 ответов

33

Чтобы установить его, выполните следующие действия:

sudo apt-get install php-mongodb
    
ответ дан Videonauth 29.04.2016 в 23:15
источник
5

Я уверен, что вы нашли решение. Однако я хочу поделиться, как я это сделал:

  • Установлен php 5.6 на Ubuntu 16 (@see Ссылка )
  • затем выполнил sudo apt-get install php5.6-mongo
ответ дан chickenchilli 25.11.2016 в 01:07
3

Я использую 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 - это команда, которая используется для создания среды сборки. Эта ошибка может появиться во время установки любого расширения расширения. Для решения этой проблемы команда 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 

Добавьте в файл следующую строку:

extension = mongo.so;

(Возможно, вам нужно указать точное местоположение файла. В моем случае файл находился в /usr/lib/php/20151012/mongodb.so.)

Таким образом, mongo db устанавливается вместе со своим драйвером.

3) Теперь имейте в виду, что классы mongo-php были изменены. Большинство доступных ресурсов в сети предоставляют решения с использованием старых классов, которые заменяются. Ниже приведены ссылки, на которые вы можете ссылаться:

Ссылка

Ссылка

Вот несколько команд для основных операций с базой данных:

$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";
    }
    
ответ дан Pransh Tiwari 04.04.2017 в 19:26
0

или для php 7

sudo apt-get install php7.0-mongodb
    
ответ дан Albert s 28.09.2016 в 02:14
0

Я использую это в своем файле Docker:

echo 'deb http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list
echo 'deb-src http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list
curl -OL https://www.dotdeb.org/dotdeb.gpg \
    && apt-key add dotdeb.gpg \
    && rm dotdeb.gpg
apt-get update -y \
    && apt-get install -y \
        php7.0 \
        php7.0-mongodb \
    
ответ дан MauricioOtta 27.02.2017 в 07:23