You think this is to complicated? You use Ubuntu 14 or 16? use this:
sudo apt-get install php-mongodb
This installs everything you need to use MongoDB inside PHP.
Don't stop using MongoDB, is the best that will happen to you.
You're Welcome.
Para desenvolvedores e usuários interessados nas correções de bugs mais recentes, a extensão pode ser compilada a partir do código-fonte mais recente no » Github. Execute os seguintes comandos para clonar e construir o projeto:
$ git clone https://github.com/mongodb/mongo-php-driver.git $ cd mongo-php-driver $ git submodule update --init $ phpize $ ./configure $ make all $ sudo make install
Em sistemas com múltiplas versões de PHP instaladas (por exemplo, macOS padrão, Homebrew, » XAMPP), cada versão do PHP terá seu próprio comando phpize e arquivo php.ini. Além disso, cada ambiente PHP (por exemplo, CLI, web) pode usar um arquivo php.ini separado.
Por padrão, a extensão usará versões agrupadas de
» libbson,
» libmongoc e
» libmongocrypt e
tentar configurá-los automaticamente. Se essas bibliotecas já estiverem
instaladas como bibliotecas de sistema, a extensão poderá utilizá-las
especificando --with-mongodb-system-libs=yes
como uma opção para
configure
.
Para obter uma lista completa de opções de configure
, execute
configure --help.
Ao usar versões empacotadas de libmongoc e libmongocrypt, a extensão
também tentará selecionar uma biblioteca SSL de acordo com a
opção --with-mongodb-ssl
configure
.
A partir da versão de extensão 1.17.0, o OpenSSL é sempre preferido por padrão.
Anteriormente, o Secure Transport era o padrão no macOS e o OpenSSL era o
padrão em todas as outras plataformas.
Nota:
Se o processo de construção não conseguir encontrar uma biblioteca SSL, verifique se os pacotes de desenvolvimento (por exemplo,
libssl-dev
) e » pkg-config estão ambos instalados.Ao usar o Homebrew no macOS, é comum que um sistema tenha várias versões do OpenSSL instaladas. Para garantir que a versão desejada do OpenSSL seja selecionada, a variável de ambiente
PKG_CONFIG_PATH
pode ser usada para controlar o caminho de pesquisa parapkg-config
. Sepkg-config
não for usado,configure
também suporta um argumento--with-openssl-dir=DIR
, que pode ser usado para especificar um caminho de pesquisa manual (somente para OpenSSL).
A etapa final de compilação, make install, reportará onde mongodb.so foi instalado, semelhante a:
Installing shared extensions: /usr/lib/php/extensions/debug-non-zts-20220829/
Certifique-se de que a opção extension_dir no php.ini aponta para o diretório onde mongodb.so foi instalado. A opção pode ser consultada executando:
$ php -i | grep extension_dir extension_dir => /usr/lib/php/extensions/debug-non-zts-20220829 => /usr/lib/php/extensions/debug-non-zts-20220829
Se os diretórios forem diferentes, altere extension_dir no php.ini ou mova manualmente mongodb.so para o diretório correto.
Finalmente, adicione a seguinte linha ao arquivo php.ini para cada ambiente que precisará usar a extensão:
extension=mongodb.so
You think this is to complicated? You use Ubuntu 14 or 16? use this:
sudo apt-get install php-mongodb
This installs everything you need to use MongoDB inside PHP.
Don't stop using MongoDB, is the best that will happen to you.
You're Welcome.
a) If your git version is not recent enough, as can happen e.g. on Ubuntu 12.04 LTS, git submodule --init won't exist
In that case use:
git submodule init
git submodule update
b) make install does not create a mongodb.conf configuration file to support the debian/ubuntu PHP versions phpenmod/phpdismod commands. To have them work:
- do not add the extension=mongodb.so line to php.ini
- add it to a mongodb.ini file in the PHP mods-available directory
- the commands will then work for this extension
c) if you have multiple versions of PHP on a system such as b), the phpenmod/phpdismod commands may fail if the extension is not built for the default PHP CLI version. To have it be enabled for a specific version, use the -v argument, like
phpenmod -v php7.1 mongodb
After installing mongodb, in terminal there are couple of error ex.
PHP Warning: PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: C:\xampp\php\ext\mongodb.so (The specified module could not be found.), C:\xampp\php\ext\php_mongodb.so.dll (The specified module could not be found.)) in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: C:\xampp\php\ext\mongodb.so (The specified module could not be found.), C:\xampp\php\ext\php_mongodb.so.dll (The specified module could not be found.)) in Unknown on line 0
https://prnt.sc/ubr5mq
Solution:
1. If you include mongodb extension in php.ini file first remove that
2. Goto your php path inside Xampp and create an file called mongodb.ini and pest this below line, see ss - https://prnt.sc/ubr7ii
code extension=mongodb.so
This solution works in windows 10, php 7.4 version