Cette extension est obsolète. À la place, vous devriez utiliser l'extension MongoDB.
Le driver MongoDB devrait fonctionner sur la plupart des systèmes : Windows, Mac OS X, Unix, et Linux ; des petites machines aux gros serveurs ; sur des systèmes 32 et 64 bit ; avec PHP 5.3 à 5.6 (les versions antérieures à la 1.6 supportent aussi PHP 5.2).
Cette extension » PECL n'est pas intégrée à PHP.
Pour les développeurs des pilotes ou les personnes intéréssées par les derniers correctifs de bugs, vous pouvez compiler le pilote depuis » Github. Allez sur Github et cliquez sur "download". Lancez ensuite :
$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz $ cd mongodb-mongodb-php-driver-<commit_id> $ phpize $ ./configure $ make all $ sudo make install
Effectuez ces changements à votre fichier php.ini:
Assurez-vous que la variable extension_dir pointe vers le dossier contenant le fichier mongo.so. La compilation devrait afficher l'endroit où PHP installe le driver ; l'affichage devrait ressembler à quelque chose comme :
Installing '/usr/lib/php/extensions/no-debug-non-zts-20060613/mongo.so'
$ php -i | grep extension_dir extension_dir => /usr/lib/php/extensions/no-debug-non-zts-20060613 => /usr/lib/php/extensions/no-debug-non-zts-20060613
Pour chargez l'extension au démarrage de PHP, ajoutez cette ligne :
extension=mongo.so
Exécutez :
$ sudo pecl install mongo
Si vous utilisez CentOS ou Redhat, vous pouvez utiliser les » RPM.
Ajoutez la ligne suivante à votre fichier php.ini :
extension=mongo.so
Si PECL fait un dépassement de mémoire lors de l'installation, assurez-vous que la directive memory_limit du fichier php.ini est fixée à au moins 128MB.
Les binaires précompilés pour chaque version sont disponibles sur » PECL pour une grande variété de combinaison de versions, de sécurité de threads, et de bibliothèques VC. Décompressez l'archive et placez php_mongo.dll dans votre dossier d'extension PHP ("ext" par défaut).
Ajoutez la ligne suivante à votre fichier php.ini :
extension=php_mongo.dll
Note: Dépendences DLL additionnelles pour les utilisateurs Windows
Afin de faire fonctionner cette extension, quelques bibliothèques DLL doivent être disponibles via le PATH du système Windows. Lisez la FAQ intitulée "Comment ajouter mon dossier PHP à mon PATH WIndows" pour plus d'informations. Le fait de copier les bibliothèques DLL depuis le dossier PHP dans le dossier système Windows fonctionne également (car le dossier système est par défaut dans le PATH système), mais cette méthode n'est pas recommandée. Cette extension nécessite que les fichiers suivants se trouvent dans le PATH : libsasl.dll
Dans la plupart des cas, l'installation depuis pecl reste le plus simple :
$ sudo pecl install mongo
Si vous utilisez » Homebrew, PHP tap contient des formules pour le driver. Par exemple, vous pouvez installer le driver pour PHP 5.6 via la commande suivante :
$ brew install php56-mongo
Si vous utilisez » XAMPP, vous devriez être capable de compiler le driver avec la commande suivante :
sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo
Note: Dépendance avec Xcode pour compiler sur OS X
Compiler le driver sous OS X requiert les outils de développements Xcode, qui peuvent être installé avec
xcode-select --install
. Si cette commande n'est pas disponible, vous devriez d'abord installer le paquet » Command Line Tools.
Gentoo a un paquet pour le driver PHP PECL nommé dev-php/pecl-mongo, qui peut installer via la commande suivante :
$ sudo emerge -va dev-php/pecl-mongo
Si vous utilisez PECL, vous recevrez une erreur signalant que libtool n'est pas à la bonne version. Lors de la compilation depuis les sources, vous devriez avoir besoin d'exécuter aclocal et autoconf.
$ phpize $ aclocal $ autoconf $ ./configure $ make $ sudo make install
Ceci inclut Fedora et CentOS.
La configuration par défaut d'Apache sur ces systèmes ne permet pas aux requêtes d'effectuer des connexions réseaux, ceci signifie que le driver recevra une erreur "Permission denied" lorsqu'il tentera une connexion à la base de données. Si vous rencontrez une telle erreur, tentez d'exécuter ceci :
$ /usr/sbin/setsebool -P httpd_can_network_connect 1
Beaucoup de personnes ont créés d'excellents tutoriels sur l'installation du driver PHP.
» (Re)installer PHP sur Mac OS X
Cet article de Justin Hileman détaille le processus d’installation de PHP et ses extensions additionnelles avec Homebrew sous OS X. C'est un complément pour les instructions de cette page sur l’installation du driver avec Homebrew.
» PHP 5.3.1 avec Xdebug, MongoDB et Lithium sous Ubuntu 9.10 / Apache 2.2
Une excellent vidéo qui vous explique l'installation étape par étape d'Apache, PHP, Xdebug, MongoDB, et Lithium par Jon Adams.