Installe l'extension de MongoDB PHP avec PECL

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » https://pecl.php.net/package/mongodb

Linux, Unix et les utilisateurs de macOS peuvent exécuter la commande suivante pour installer l'extension :

$ sudo pecl install mongodb

Sur les systèmes avec plusieurs versions de PHP installées (par exemple, macOS par défaut, Homebrew, » XAMPP), chaque version de PHP aura sa propre commande pecl et fichier php.ini. De plus, chaque environnement PHP (par exemple CLI, web) peut utiliser des fichiers php.ini séparés.

Depuis la version 1.17.0 de l'extension, PECL demandera diverses options de configurations. Pour installer l'extension avec les options par défaut dans un script non interactif, une entrée vide peut être envoyée à pecl install en utilisant la commande yes :

$ yes '' | sudo pecl install mongodb

Une liste complète des options configure supportées peut être trouvée dans le fichier package.xml inclus dans le paquet PECL. Pour installer l'extension avec des options de configurations spécifiques dans un script non interactif, l'option --configureoptions pour pecl install peut être utilisée :

$ sudo pecl install --configureoptions='with-mongodb-system-libs="yes" enable-mongodb-developer-flags="no"' mongodb

Par défaut l'installation de l'extension via PECL utilisera les versions incluses de » libbson, » libmongoc, et » libmongocrypt et essayera automatiquement de les configurer.

Note: Si le processus de construction échoue à trouver une bibliothèque SSL, vérifiez que les paquets de développement (par exemple libssl-dev) et » pkg-config sont tous deux installés. Si cela ne résout pas le problème, envisagez d'utiliser le processus d'installation manuel.

Pour finir, ajoutez la ligne suivante au fichier php.ini pour chaque environnement qui aura besoin d'utiliser l'extension :

extension=mongodb.so

add a note

User Contributed Notes 7 notes

up
40
mohammadhoseinmazalahi at gmail dot com
4 years ago
As of Ubuntu 20.04, php-mongodb in the database is outdated and you'll need the PECL method to install latest version of MongoDB.

To do this in Ubuntu, you'll need the php-pear plugin and php-dev:
sudo apt install php-dev php-pear

then you can run:
sudo pecl install mongodb
up
27
contact ? automatix : info
8 years ago
An additional requirement might be pkg-config (on Ubuntu 14.04).

$ pecl install mongodb
...
configure: error: Cannot find OpenSSL's libraries
ERROR: `/tmp/pear/temp/mongodb/configure --with-php-config=/usr/bin/php-config' failed

But:

$ apt-get install pkg-config
...
Setting up pkg-config (0.26-1ubuntu4) ...
$ pecl install mongodb
...
Build process completed successfully
Installing '/usr/lib/php/20151012/mongodb.so'
install ok: channel://pecl.php.net/mongodb-1.1.7
configuration option "php_ini" is not set to php.ini location
You should add "extension=mongodb.so" to php.ini
up
17
asologor at gmail dot com
7 years ago
On Ubuntu you can just do:

sudo apt-get install php-mongodb

or the same for specific PHP version:

sudo apt-get install php5.6-mongo

or

sudo apt-get install php7.0-mongodb
up
19
rafael_xuvisco at yahoo dot com dot br
7 years ago
Ubuntu 16.04

sudo apt-get install libcurl4-openssl-dev pkg-config libssl-dev libsslcommon2-dev

sudo pecl install mongodb

add extension=mongodb.so in fpm and cli:

sudo vim /etc/php/7.0/fpm/conf.d/30-mongodb.ini

sudo vim /etc/php/7.0/cli/conf.d/30-mongodb.ini

Restart service:

sudo systemctl restart php7.0-fpm

sudo systemctl reload nginx
up
6
Tim Greiser
8 years ago
[Editor's note: fixed typo]

There are some additional requirements you need to build the pecl package.

sudo apt-get install libcurl4-openssl-dev pkg-config libssl-dev libsslcommon2-dev
up
6
Anonymous
8 years ago
I got an error "fatal error: pcre.h: No such file or directory" and had to also had to install another dependency

sudo apt-get install libpcre3-dev
up
-2
Unmesh
7 years ago
The following steps worked for me on Centos7

sudo yum install -y openssl-devel
sudo yum install pecl
sudo yum install gcc
sudo pecl install mongodb
To Top