downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Tutoriel> <Manuel
[edit] Last updated: Fri, 25 May 2012

view this page in

Installation

Le driver MongoDB devrait fonctionne sur la plupart des systèmes : Windows, Mac OS X, Unix, et Linux ; des petites machines au gros serveurs ; sur des systèmes 32 et 64 bit ; avec PHP 5.1, 5.2, et 5.3.

Cette extension » PECL n'est pas intégrée à PHP. Cette page fournit des informations spécifiques sur l'installation de l'extension sur différents systèmes mais aussi sur les problèmes communs rencontrés par les utilisateurs.

Installation sur les systèmes *NIX

Lancez:


$ sudo pecl install mongo

Si vous utilisez CentOS ou Redhat, Csoke Arpad a crée » des RPMs pour ces distributions.

Ajoutez les lignes suivantes à votre fichier php.ini:


extension=mongo.so

Si pecl échoue en raison d'un manque de mémoire vive lors de l'installation, assurez-vous que l'option memory_limit de votre php.ini est définie à au moins 32M.

Installation manuelle

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
$ sudo make install

Effectuez ces changements à votre fichier php.ini:

  • Assurez-vous que la variable extension_dir pointe vers le bibliothèque 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-zts-20060613/mongo.so'
    
    
    Vérifiez bien qu'il s'agisse du même dossier d'extensions que celui de votre PHP en lançant:
    
          $ php -i | grep extension_dir
            extension_dir => /usr/lib/php/extensions/no-debug-zts-20060613 =>
          /usr/lib/php/extensions/no-debug-zts-20060613  
    
    
    Si ce n'est pas le cas, changez extension_dir de php.ini ou placez manuellement mongo.so.

  • Pour chargez l'extension au démarrage de PHP, ajoutez cette ligne :

    
          extension=mongo.so
    
    

Systèmes OS X

Si votre système ne peut trouver autoconf, vous devrez installer Xcode (disponible sur le DVD d'installation de votre OS ou en libre téléchargement depuis le site web d'Apple).

Si vous utilisez XAMPP, vous devriez pouvoir compiler le driver avec la commande suivante :


sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo

Si vous utilisez MAMP (ou XAMPP et que la commande ci-dessus ne fonctionne pas), des binaires précompilés sont disponibles sur » Github (téléchargez le dernier qui a pour nom "osx" et la version de PHP que vous utilisez). Extraire mongo.so depuis l'archive et ajoutez-le dans le dossier de l'extension MAMP ou XAMPP. Ajoutez


      extension=mongo.so

au fichier php.ini utilisé puis redémarrez le serveur web.

Gentoo

Gentoo a un paquet pour le driver PHP nommé dev-php5/mongo, qui peut installer via la commande suivante :


$ sudo emerge -va dev-php5/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 && make install

Red Hat

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 
Puis, redémarrez Apache (Ce comportement peut également survenir sous SELinux).

Installation sous Windows

Les binaires précompilés pour chaque version sont disponibles sur » Github 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).

Le code le plus récent (non publié) est compilé avec les binaires Windows à chaque modification. L'archive Zip contient les fichiers php_mongo.dll et version.txt. Conservez le fichier version.txt ; ainsi, si vous avez une question ou un problème, vous pourrez indiquer aux développeurs l'exacte version que vous utilisez. (Le nombre est assez long et absurde, mais il a du sens pour les développeurs ;) )

Pour récupérer les dernière corrections de bogues, téléchargez le binaire correspondant à la version de PHP que vous avez d'installée :

Ajoutez la ligne suivante à votre fichier php.ini :

extension=php_mongo.dll

Instructions d'installation tierces

Beaucoup de personnes ont créés d'excellents tutoriels sur l'installation du driver PHP.



Tutoriel> <Manuel
[edit] Last updated: Fri, 25 May 2012
 
add a note add a note User Contributed Notes Installation
soni.harriz 21-Mar-2012 08:17
i found that php.ini file located in /etc/php.ini , when i open the file, it is empty. i have added the "extension=mongo.so" in the file, but still it didn't work. Can you tell me how to resolve it? every answer is fully appreciated. thanks before
enzo at smshome dot net 10-Aug-2011 08:49
There is no php_mongo.dll for x64 PHP. PHP doesn't load pre-compiled version (error: "%1 is not a valid Win32 application")
tiago dot braga at gmail dot com 08-Aug-2011 09:04
In Windows running IIS the directory to instal is "C:\Program Files\PHP\ext". Than you have to install the apropriate MongoDriver version (in my case was mongo-1.1.4-php5.3vc9) and than Restart IIS.

The MongoDB Driver will be available.
rishi at plavaga dot in 27-Jun-2011 01:25
I am using XAMPP 1.7.4 (32 bit) on Windows 7. Though it was mentioned that Apache uses a non-threadsafe version of DLL, when used, it was giving me the below error:

PHP Warning:  PHP Startup: Unable to load dynamic library
Warning:  PHP Startup: Unable to load dynamic library 'D:\xampp\php\ext\php_mongo.dll' - The specified module could not be found.

I had to use the thread-safe version (mongo-1.1.4.zip\mongo-1.1.4-php5.3vc6ts\php_mongo.dll) to get it working.
Andrey 01-Jun-2011 04:54
On windows installation check for VC compilator version inside phpinfo(), if you install incorrect one it wouldn't work.
I tried to run on Apache2 with VC6, and always get folowing error:

Fatal error: Class 'Mongo' not found

Until I look into phpinfo and found MSVC9, after that
I install VC9 dll files and it solve the problem.
poorpuer at gmail dot com 26-Oct-2010 08:26
If you're running IIS under Windows 7 and have PHP manager installed you'll also need to manually enable the extension. Start IIS Manager, select PHP Manager, under the section labeled PHP Extensions click on Enable or disable an extension, then enable the php_mongo.dll extension, and restart IIS.
Anonymous 12-Mar-2010 10:41
I was only able to solve an xmapp install problem by accessing the cached version of this page - which was at the time hosted at mongo.

in the comments someone said

Setup on XAMPP
Install the Developer package for XAMPP
Make sure the the Apple Developer Tools are installed
!!!Edit your php.ini file with extension=mongo. For some reason, the build did not work until I did that.
if XAMPP install in your Application folder, run sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo
Restart XAMPP

which worked.

using the github packages it ended up being compiled with different versions of whatever and then threw an error in the log and wasnt included.
cap at unagon dot com 26-Feb-2010 01:52
For Debian users: apt-get install php5-dev will install phpize for you.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites