Menu Docs
Página inicial do Docs
/
MongoDB Drivers

Driver PHP do MongoDB

Nesta página

  • Introdução
  • Arquitetura de driver
  • Conecte-se a uma implantação compatível do MongoDB
  • Instalação
  • Ligar ao MongoDB Atlas
  • Conecte-se ao Atlas MongoDB sem a API estável
  • Conecte-se a um servidor MongoDB em sua máquina local
  • Compatibilidade
  • Veja também

Bem-vindo ao site de documentação do driver PHP oficial da MongoDB. Você pode adicionar o driver ao seu aplicativo para trabalhar com MongoDB em PHP. O driver MongoDB PHP consiste nos seguintes componentes:

  • A extensão, que fornece uma API de baixo nível e serve principalmente para integrar libmongoc e libbson com PHP.

  • A biblioteca que fornece uma API de alto nível para trabalhar com Banco de dados MongoDB consistentes com outros drivers de linguagem MongoDB.

Embora seja possível usar a extensão de forma independente, o MongoDB recomenda usar a extensão e a biblioteca juntas. Para saber mais sobre os componentes do driver PHP, consulte a seção Arquitetura do driver desta página.

Navegue pelos links a seguir para saber mais sobre o driver e acessar o conteúdo do tutorial sobre como configurar um projeto executável:

Esta seção descreve como os componentes do driver PHP trabalham juntos. Esses componentes se encaixam nas seguintes categorias gerais:

  • API de alto nível, que inclui a biblioteca e outras integrações

  • Extensão, que inclui a extensão que integra as bibliotecas de sistemas

  • Sistema, que inclui o C Driver, a biblioteca BSON e a biblioteca de criptografia

O diagrama a seguir ilustra a arquitetura dos componentes do driver PHP:

Arquitetura de componentes do driver PHP

A biblioteca PHP fornece uma API consistente com os outros drivers do MongoDB. A biblioteca é atualizada continuamente para atender às especificações de vários drivers. Você deve adicionar a biblioteca como uma dependência para acessar o MongoDB na maioria dos aplicativos PHP.

A extensão é distribuída por meio do PECL e conecta o PHP às bibliotecas do sistema. A API pública da extensão fornece a seguinte funcionalidade:

  • Gerenciamento de conexões

  • Codificação e decodificação BSON

  • Serialização de documento de objeto

  • Execução de comandos

  • Gerenciamento do cursor

Para saber mais sobre as bibliotecas de sistemas, consulte a documentação do Driver C.

Você pode usar o driver PHP para se conectar a implementações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

Primeiro, verifique se você tem uma versão recente do PHP instalada em seu sistema. Consulte o manual oficial do PHP para obter instruções de download e instalação.

Instale a extensão PHP MongoDB antes de instalar a biblioteca PHP para MongoDB. Você pode instalar a extensão usando o PECL na linha de comando:

$ sudo pecl install mongodb

Por fim, adicione a seguinte linha ao seu arquivo php.ini:

extension=mongodb.so

Observação

Em alguns sistemas, pode haver vários arquivos INI para SAPIs individuais (por exemplo, CLI, FPM). Habilite a extensão em todos os SAPIs necessários.

O método preferido de instalar a biblioteca PHP é com o Composer executando o seguinte a partir da raiz do seu projeto:

$ composer require mongodb/mongodb

Depois de instalar a biblioteca, verifique se seu aplicativo inclui o carregador automático do Composer, como no exemplo a seguir:

<?php
require_once __DIR__ . '/vendor/autoload.php';

Instruções de instalação adicionais podem ser encontradas na documentação da biblioteca.

Você pode utilizar o seguinte trecho de conexão para testar sua conexão com seu MongoDB deployment no Atlas:

<?php
use Exception;
use MongoDB\Client;
use MongoDB\Driver\ServerApi;
// Replace the placeholder with your Atlas connection string
$uri = '<connection string>';
// Specify Stable API version 1
$apiVersion = new ServerApi(ServerApi::V1);
// Create a new client and connect to the server
$client = new MongoDB\Client($uri, [], ['serverApi' => $apiVersion]);
try {
// Send a ping to confirm a successful connection
$client->selectDatabase('admin')->command(['ping' => 1]);
echo "Pinged your deployment. You successfully connected to MongoDB!\n";
} catch (Exception $e) {
printf($e->getMessage());
}

Este trecho de conexão usa a funcionalidade Stable API, que você pode habilitar ao usar o driver PHP v1.9 e mais recentes para se conectar ao servidor MongoDB v5.0 e mais recentes. Ao usar essa funcionalidade, você pode atualizar seu driver ou servidor sem se preocupar com problemas de compatibilidade com versões anteriores com quaisquer comandos cobertos pela Stable API.

Para saber mais sobre a funcionalidade Stable API, consulte Stable API no manual do servidor.

Observação

A partir de fevereiro de 2022, a API versionada é conhecida como API estável. Todos os conceitos e recursos permanecem os mesmos com esta mudança de nomenclatura.

Se estiver usando uma versão do MongoDB ou do driver não compatível com a funcionalidade Stable API, você pode usar o seguinte trecho de código para testar sua conexão com o MongoDB deployment no Atlas:

<?php
use Exception;
use MongoDB\Client;
// Replace the placeholder with your Atlas connection string
$uri = '<connection string>';
// Create a new client and connect to the server
$client = new MongoDB\Client($uri);
try {
// Send a ping to confirm a successful connection
$client->selectDatabase('admin')->command(['ping' => 1]);
echo "Pinged your deployment. You successfully connected to MongoDB!\n";
} catch (Exception $e) {
printf($e->getMessage());
}

Se você precisar executar um servidor MongoDB em seu computador local para fins de desenvolvimento, em vez de usar um cluster do Atlas, será necessário concluir o seguinte:

  1. Baixe a versão Comunidade ou Enterprise do MongoDB Server.

  2. Instale e configure o servidor MongoDB.

  3. Inicie o servidor.

Importante

Sempre proteja seu servidor do MongoDB contra ataques maliciosos. Consulte nossa Lista de verificação de segurança para obter uma lista de recomendações de segurança.

Depois de iniciar com êxito o servidor MongoDB, especifique a connection string no código de conexão do driver.

Se o servidor MongoDB estiver sendo executado localmente, você poderá usar a connection string "mongodb://localhost:<port>", em que <port> é o número da porta que você configurou no servidor para escutar as conexões de entrada.

Se você precisar especificar um nome de host ou endereço IP diferente, consulte a entrada do Manual do servidor sobre strings de conexão.

Para testar se você pode se conectar ao servidor, substitua a string de conexão no exemplo de código Connect to MongoDB Atlas e execute-a.

Devido a possíveis problemas que representam inteiros de 64 bits em plataformas de 32 bits, os usuários são aconselhados a usar ambientes de 64 bits. Ao utilizar uma plataforma de 32 bits, esteja ciente de que qualquer leitura de inteiro de 64bits do banco de dados será retornada como uma instância MongoDB\BSON\Int64 em vez de um tipo inteiro PHP.

A tabela de compatibilidade a seguir especifica a versão ou as versões recomendadas do driver PHP para usar com uma versão específica do MongoDB.

A primeira coluna lista a versão do driver.

Importante

O MongoDB garante a compatibilidade entre o MongoDB Server e os drivers por três anos após a data de fim da vida útil (EOL) da versão do servidor. Para saber mais sobre a versão do MongoDB e as datas de EOL, consulte Agendamentos do ciclo de vida do software MongoDB.

Icon
Explicação
Todas as funcionalidades são suportadas.
A versão Driver funcionará com a versão MongoDB, mas nem todos os novos recursos MongoDB são suportados.
Sem marca
A versão Driver não é testada com a versão MongoDB.
Versões do driver PHP
MongoDB 8.0
MongoDB 7.0
MongoDB 6.0
MongoDB 5.0
MongoDB 4.4
MongoDB 4.2
MongoDB 4.0
MongoDB 3.6
MongoDB 3.4
MongoDB 3.2
MongoDB 3,0
MongoDB 2.6
ext + lib 1.20
ext + lib 1.16 a 1.19
ext + lib 1,15 [1]
ext 1.14 + lib 1.13
ext 1.13 + lib 1.12
ext 1.12 + lib 1.11
ext 1.11 + lib 1.10
ext 1.10 + lib 1.9
[2]
ext 1.9 + lib 1.8
ext 1.8 + lib 1.7
ext 1.7 + lib 1.6
ext 1.6 + lib 1.5
ext 1.5 + lib 1.4
ext 1.4 + lib 1.3
ext 1.3 + lib 1.2
ext 1.2 + lib 1.1
ext 1.1 + lib 1.0
ext 1.0
[1](1, 2) A versão 1.14 da biblioteca MongoDB PHP foi ignorada para restaurar a paridade da versão entre a biblioteca e a extensão.
[2] A extensão 1.10 + driver da biblioteca 1.9 não é compatível com leituras de snapshots em secundários. Para obter mais informações, consulte as notas de versão do MongoDB Server versão 5.0.

A tabela de compatibilidade a seguir especifica a versão ou as versões recomendadas do driver PHP para usar com uma versão específica do PHP.

A primeira coluna indica as versões do driver.

Versões do driver PHP
PHP 8.4
PHP 8.3
PHP 8.2
PHP 8.1
PHP 8.0
PHP 7.4
PHP 7.3
PHP 7.2
PHP 7.1
PHP 7.0
PHP 5.6
PHP 5.5
ext + lib 1.20
ext + lib 1.17 a 1.19
ext + lib 1.16
ext + lib 1,15 [1]
ext 1.14 + lib 1.13
ext 1.13 + lib 1.12
ext 1.12 + lib 1.11
ext 1.11 + lib 1.10
ext 1.10 + lib 1.9
ext 1.9 + lib 1.8
ext 1.8 + lib 1.7
ext 1.7 + lib 1.6
ext 1.6 + lib 1.5
ext 1.5 + lib 1.4
ext 1.4 + lib 1.3
ext 1.3 + lib 1.2

Para obter mais informações sobre como ler as tabelas de compatibilidade, consulte nosso guia em tabelas de compatibilidade do MongoDB.

Voltar

Drivers Kotlin