Como instalar a extensão PHP do Mongodb no Ubuntu 16.04 LTS

17

Estou executando o Ubuntu 16.04 LTS e quero usar o Mongodb com PHP. Por isso eu pensei que sudo apt-get install php5-mongo (o que é suficiente para o Ubuntu 14.04 LTS) seria suficiente, mas eu estava errado. Estou recebendo um erro assim E: Unable to locate package php5-mongo .

Acabei de atualizar para Ubuntu 16.04 LTS e quero usar mongodb com PHP . A versão em execução do PHP é PHP Version 7.0.4-7ubuntu2 .

Então, o que posso fazer para resolver isso?

    
por Vikash Kumar 29.04.2016 / 23:01

5 respostas

39

Para instalá-lo, faça o seguinte:

sudo apt-get install php-mongodb
    
por Videonauth 29.04.2016 / 23:15
5

Tenho certeza de que você encontrou uma solução até agora. No entanto, quero compartilhar como eu fiz:

  • Instalado php 5.6 no Ubuntu 16 (@verifique link )
  • , em seguida, executou sudo apt-get install php5.6-mongo
por chickenchilli 25.11.2016 / 01:07
3

Estou usando o PHP versão 7.0 no Ubuntu 16.04. Eu estou dando uma informação detalhada para instalar o driver / cliente mongo. Primeiro instalei manualmente o mongodb e depois o driver mongodb-php para ele.

1) Instalando o mongo db. Digite os seguintes comandos:

$ 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

Para iniciar corretamente o Mongdb como um serviço, isto é, iniciar automaticamente o Mongodb quando o sistema for iniciado, siga os seguintes passos:

Crie o arquivo mongodb.service em / etc / systemd / system / digitando o comando:

$ sudo nano /etc/systemd/system/mongodb.service

Cole o seguinte conteúdo:

[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

Em seguida, digite os seguintes comandos:

$ sudo systemctl start mongodb

$ sudo systemctl enable mongodb

2) Instalando o driver mongo-php:

$ sudo pecl install mongodb

Você também pode receber um erro: phpize not found. Phpize é um comando que é usado para criar um ambiente de compilação. Este erro pode aparecer no momento da instalação de qualquer extensão pecl. Para resolver este problema do comando phpize não encontrado, o usuário deve instalar o pacote php5-dev. Para instalá-lo, digite o comando:

 $ sudo apt-get install php7.0-dev

Em seguida, no arquivo php.ini que está no diretório /etc/php/7.0/apache2, adicione a extensão mongo db:

$ sudo nano /etc/php/7.0/apache2/php.ini 

Adicione a seguinte linha no arquivo:

extension = mongo.so;

(Você pode precisar especificar a localização exata do arquivo. No meu caso, o arquivo estava em /usr/lib/php/20151012/mongodb.so.)

Portanto, o mongo db é instalado junto com o driver.

3) Agora tenha em mente que as classes mongo-php foram alteradas. A maioria dos recursos disponíveis na rede fornece soluções usando classes antigas que são substituídas. Abaixo estão os links aos quais você pode se referir:

link

link

Aqui estão alguns comandos para operações básicas de banco de dados:

$mng = new MongoDB\Driver\Manager(); // Driver Object created

Para inserir dados no banco de dados:

$bulk = new MongoDB\Driver\BulkWrite;

$doc = ["_id" => new MongoDB\BSON\ObjectID, "data" => $someData, "info" => $someInfo];

$bulk->insert($doc);

$mng->executeBulkWrite('dbName.collectionName', $bulk);

Para buscar dados:

$query = new MongoDB\Driver\Query([]); 

$rows = $mng->executeQuery("dbName.collectionName", $query);

foreach ($rows as $row) 
    {
         echo "$row->data - $row->info\n";
    }
    
por Pransh Tiwari 04.04.2017 / 19:26
0

ou para o php 7

sudo apt-get install php7.0-mongodb
    
por Albert s 28.09.2016 / 02:14
0

Estou usando isso no meu Dockerfile:

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 \
    
por MauricioOtta 27.02.2017 / 07:23