Menu Docs
Página inicial do Docs
/ / /
Manual da Biblioteca PHP

Comece com a Biblioteca PHP do MongoDB

A Biblioteca PHP do MongoDB é uma abstração de alto nível para a extensão MongoDB PHP, que você pode usar para se conectar ao MongoDB e interagir com dados armazenados em sua implantação. Este guia mostra como criar um aplicação que usa a biblioteca PHP do MongoDB para se conectar a um cluster MongoDB hospedado no MongoDB Atlas e consultar dados em seu cluster.

Dica

O MongoDB Atlas é um serviço de banco de dados em nuvem totalmente gerenciado que hospeda seu Implantações do MongoDB. Você pode criar sua própria implantação do MongoDB Atlas gratuita (nenhum cartão de crédito exigido) seguindo as etapas deste guia.

Siga este guia para conectar um aplicação PHP de amostra a uma implantação do MongoDB Atlas . Se você preferir se conectar ao MongoDB usando um driver ou uma linguagem de programação diferente, consulte nossa lista de drivers oficiais.

1

Antes de começar a desenvolver, verifique se você tem as seguintes dependências instaladas em sua máquina local:

2

Execute o seguinte comando para instalar a extensão PHP do mongodb :

pie install mongodb/mongodb-extension

Dica

Especifique a versão da extensão PHP

Para instalar uma versão específica da extensão PHP, inclua o número da versão conforme mostrado no seguinte comando:

pie install mongodb/mongodb-extension:^2.1.1

Para instalar uma versão de extensão PHP anterior à1.21 v, você deve usar o comando pecl.

3

A partir do seu diretório raiz, execute o seguinte comando na sua shell para criar um diretório chamado php-quickstart para este projeto:

mkdir php-quickstart

Selecione a aba correspondente ao seu sistema operacional e execute os seguintes comandos para criar um arquivo de aplicação quickstart.php no diretório php-quickstart :

cd php-quickstart
touch quickstart.php
cd php-quickstart
type nul > quickstart.php
4

Para instalar a biblioteca PHP do MongoDB , execute o seguinte comando em seu diretório php-quickstart :

composer require mongodb/mongodb

Depois de instalar a biblioteca, inclua o arquivo autoload.php do Composer adicionando o seguinte código ao topo do seu arquivo quickstart.php :

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

Depois de concluir estas etapas, você tem um novo diretório de projeto , um novo arquivo de aplicação e as dependências da biblioteca instaladas.

Você pode criar uma implantação MongoDB de camada gratuita no MongoDB Atlas para armazenar e gerenciar seus dados. O MongoDB Atlas hospeda e gerencia seu banco de dados MongoDB na nuvem.

1

Complete o guia Iniciar com Atlas para configurar uma nova conta Atlas e carregar dados de amostra em uma nova implantação MongoDB de camada gratuita.

2

Depois de criar seu usuário de banco de dados, salve o nome de banco de dados e a senha do banco de dados desse usuário em um local seguro para uso em uma etapa futura.

Após concluir estas etapas, você terá uma nova implantação de camada grátis do MongoDB no Atlas, credenciais de trigger de banco de dados e dados de exemplo carregados no seu reconhecimento de data center.

Você pode se conectar à sua implantação do MongoDB fornecendo um URI de conexão, também chamado de connection string, que instrui o driver sobre como se conectar a uma implantação do MongoDB e como se comportar enquanto estiver conectado.

A cadeia de conexão inclui o nome do host ou endereço IP e porta de sua implantação, o mecanismo de autenticação, as credenciais do usuário quando aplicável, e opções de conexão.

Para conectar a uma instância ou sistema não hospedado no Atlas, consulte Escolha um destino de conexão.

1

Para recuperar a string de conexão da implantação criada na etapa anterior, faça login na sua conta do Atlas e navegue até a seção Database e clique no botão Connect para a nova implantação.

O botão de conexão na seção de clusters da UI do Atlas

Em seguida, selecione seu usuário no menu de seleção Select database user . Selecione "PHP" no menu de seleção Driver e a versão que melhor corresponde à versão instalada no menu de seleção Version .

Selecione a aba String na etapa Add connection string into your application code para visualizar somente a string de conexão.

2

Clique no botão à direita da string de conexão para copiá-la para a área de transferência, como mostrado na seguinte captura de tela:

O botão copiar ao lado da string de conexão na UI do Atlas
3

Cole esta connection string em um arquivo no editor de texto de sua preferência e substitua os placeholders <username> e <password> pelo seu nome de usuário e senha de utilizador de banco de dados.

Salve este arquivo em um local seguro para uso na próxima etapa.

Após concluir estas etapas, você tem uma string de conexão que corresponde ao seu agrupamento do Atlas .

Depois de recuperar a string de conexão para sua implantação do MongoDB Atlas , você pode se conectar à implantação do seu aplicação PHP e consultar os conjuntos de dados de amostra do Atlas .

1

Copie e cole o seguinte código no arquivo quickstart.php , que consulta a coleção movies no banco de banco de dados sample_mflix :

<?php
require __DIR__ . '/../vendor/autoload.php';
$uri = getenv('MONGODB_URI') ?: throw new RuntimeException(
'Set the MONGODB_URI environment variable to your Atlas URI',
);
$client = new MongoDB\Client($uri);
$collection = $client->sample_mflix->movies;
$filter = ['title' => 'The Shawshank Redemption'];
$result = $collection->findOne($filter);
if ($result) {
echo json_encode($result, JSON_PRETTY_PRINT);
} else {
echo 'Document not found';
}
2

Atribua a variável de ambiente MONGODB_URI à string de conexão que você copiou da etapa Criar uma string de conexão deste guia. Você pode atribuir essa variável executando um comando shell ou criando um arquivo .env em seu aplicação, conforme mostrado nas abas a seguir:

export MONGODB_URI=<connection string>
MONGODB_URI=<connection string>
3

No diretório do projeto , execute o seguinte comando shell para iniciar o aplicação:

php quickstart.php

A saída da linha de comando contém detalhes sobre o documento de filme recuperado:

{
"_id": {
"$oid": "..."
},
...
"rated": "R",
"metacritic": 80,
"title": "The Shawshank Redemption",
...
}

Se você encontrar um erro ou não vir nenhuma saída, certifique-se de atribuir a string de conexão adequada à variável de ambiente MONGODB_URI e de que carregou os dados de amostra.

Depois de concluir essas etapas, você tem um aplicação PHP que se conecta à implementação do MongoDB , executa uma query nos dados de amostra e retorna um documento correspondente.

Parabéns por concluir o tutorial de início rápido!

Observação

Se você tiver problemas neste tutorial, peça ajuda nos fóruns da MongoDB Community ou envie feedback usando a guia Rate this page no lado direito ou inferior direito desta página.

Neste tutorial, você criou um aplicação PHP que se conecta a um MongoDB hospedado no MongoDB Atlas e recupera um documento que corresponde a uma query.

Saiba mais sobre a biblioteca PHP do MongoDB nos seguintes recursos:

Esta seção aborda problemas que você pode encontrar ao instalar a biblioteca PHP e suas dependências.

Você pode ver um erro de arquivo de cabeçalho que se assemelha ao seguinte código ao instalar a biblioteca PHP:

/private/tmp/pear/install/mongodb/php_phongo.c:24:10: fatal error: 'php.h' file not found
#include <php.h>
^~~~~~~

Este erro indica que o sistema de construção do PHP não consegue encontrar os cabeçalhos necessários. Todas as extensões PHP exigem cabeçalhos para compilar. Esses cabeçalhos devem corresponder ao tempo de execução PHP para o qual a extensão será usada. O comando phpize, invocado por pecl e pie, geralmente garante que a extensão seja compilada com os cabeçalhos corretos.

Se você instalar um tempo de execução PHP, os cabeçalhos correspondentes nem sempre estarão disponíveis automaticamente. Em muitas distribuições Linux, os cabeçalhos são frequentemente publicados em um php-dev php-devel pacote ou separado. No macOS, o tempo de execução PHP padrão não inclui cabeçalhos. Os usuários normalmente devem instalar o PHP e seus cabeçalhos usando o Homebrew.

Se o seu sistema tiver múltiplas versões do PHP instaladas, cada versão terá seus próprios comandos pecl, pie e phpize. Além disso, cada tempo de execução do PHP pode ter arquivos php.ini separados para cada interface de programação de aplicação de servidor (SAPI), como FPM e CLI. Se você instalou a extensão, mas ela não estiver disponível no tempo de execução, certifique-se de usar o comando pecl ou pie correto e modificar o arquivo php.ini apropriado.

Para ver qual php.ini arquivo um tempo de execução PHP usa, visualize a saída de phpinfo() para esse SAPI específico. Além disso, você pode usar php_ini_loaded_file() e php_ini_scanned_files() para determinar quais arquivos INI foram carregados pelo PHP.

Para depurar problemas quando a extensão não é carregada, você pode usar o script detect-extension fornecido no diretório de ferramentas. Você pode executar esse roteiro a partir da CLI ou incluí-lo em um roteiro disponível para seu servidor web. A ferramenta encontra possíveis problemas e instruções de instalação para o seu sistema. Se você instalou a biblioteca usando o Composer, poderá chamar o script do diretório do fornecedor, conforme mostrado no código a seguir:

php vendor/mongodb/mongodb/tools/detect-extension.php

Se você quiser verificar a configuração de um SAPI do servidor web, inclua o arquivo em um script disponível para o servidor web e abra-o no navegador. Certifique-se de envolver o script em marcações <pre> para formatar corretamente sua saída, conforme mostrado no código a seguir:

<pre><?php require(...); ?></pre>

Os binários do Windows estão disponíveis para várias combinações de versão do PHP, configuração de segurança de thread (TS ou NTS) e tipo de arquitetura (x86 ou x64). Se o binário correto não for selecionado, ocorre um erro ao tentar carregar a query de extensão no tempo de execução, conforme mostrado na amostra de saída a seguir:

PHP Warning: PHP Startup: Unable to load dynamic library 'mongodb'

Certifique-se de ter baixado uma query que corresponda às seguintes propriedades de tempo de execução do PHP:

  • Versão do PHP (PHP_VERSION)

  • Segurança de thread (PHP_ZTS)

  • Arquitetura (PHP_INT_SIZE)

Além das constantes anteriores, essas propriedades também podem ser inferidas a partir de phpinfo(). Se o seu sistema tiver vários tempos de execução PHP instalados, visualize a phpinfo() saída para o ambiente correto.

Você também pode usar o script detect-extension descrito na seção anterior para determinar a query correta para seu ambiente PHP.

Voltar

Biblioteca PHP do MongoDB