Como instalar o módulo do MongoDB no Apache Windows

A instalação pode ser realizada através de DLL para diferentes versões do PHP.

PDO com PHP: Aprenda a fazer um CRUD com MySQL

Se você pretende trabalhar com o banco NoSQL MongoDB no Apache utilizando o Windows, será necessário baixar um arquivo de DLL e habilitar a extensão no arquivo de configurações do PHP.ini.

É importante se atentar a versão do PHP que você está utilizando, já que será necessário baixar uma DLL compatível com sua versão do PHP. Vale a pena se atentar também nas funcionalidades disponíveis para o driver, pois se você estiver usando um PHP 5.6, por exemplo, algumas funções podem não estar disponíveis comparado com o driver para o PHP 7.4.

Obtendo a versão do PHP

Para garantir que vamos baixar a versão de DLL correta, abra o terminal do Windows e digite o comando abaixo para visualizar a versão do PHP. No nosso caso, obtivemos o resultado PHP 7.4.27, ou seja, temos que baixar uma DLL compatível com a versão 7.4.

php -v

Baixando a DLL para o MongoDB

Agora que sabemos qual a versão do PHP que estamos utilizando, devemos acessar a página PECL MongoDB, nela veremos uma lista de versões de DLLs disponíveis. Perceba que na frente de cada versão, tem um link para a DLL, clicando nela uma nova página com as DLLs para essa versão, será carregada.

Para a versão da DLL, o suporte ao PHP muda, como, por exemplo, nós clicamos na versão mais recente, que possui suporte para o PHP 8.0, 8.1 e para o 7.4. Agora basta escolher a versão x64 ou x86 e se é  Thread Safe ou não, por fim, clique no link referente a sua escolha para iniciar o download da DLL.

Adicionar DLL no PHP.ini

Adicione a extensão abaixo no arquivo de configurações do PHP.ini, por fim, reinicie o Apache.

extension=php_mongodb.dll

Testando a conexão com o MongoDB via PHP

Utilizando o pacote MongoDB, criei um arquivo com o código abaixo. Ao executá-lo, você verá a lista com todos os bancos criados, julgando assim se a conexão com o driver instalado está funcionando ou não.

<?php
//Requisitando o vendor autoload
require_once('../vendor/autoload.php');

//Utilizamos o cliente mongo
use MongoDB\Client;

//Iniciamos uma nova conexão com o mongo através do servidor local e porta padrão
$mongo = new Client('mongodb://localhost:27017');

//Obtemos a lista de bancos existentes
$bases = $mongo->listDatabases();

//Percorremos todos os bancos existentes
foreach ($bases as $base) {

    //Obtemos o nome do banco
    echo $base->getName() . '<br>';
}