PHP 5.5.16 is released

Installation

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.1, 5.2, 5.3, 5.4 et 5.5.

Cette extension » PECL n'est pas intégrée à PHP.

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
$ 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'
    
    
    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-non-zts-20060613 =>
                       /usr/lib/php/extensions/no-debug-non-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
    
    

Installation sur les systèmes *NIX

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.

Installation sous Windows

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

Installation sur les 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).

Dans la plupart des cas, l'installation depuis pecl reste le plus simple :

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

Gentoo

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

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).

Instructions d'installation tierces

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

add a note add a note

User Contributed Notes 8 notes

up
5
Andrey
3 years ago
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.
up
2
poorpuer at gmail dot com
3 years ago
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.
up
1
cap at unagon dot com
4 years ago
For Debian users: apt-get install php5-dev will install phpize for you.
up
1
Hanakaze
1 year ago
To install the Mongo driver on Windows 7 x64 with EasyPHP, you have to use the x86 driver (instead of x64) and non nts :
php_mongo-1.3.2RC1-5.4-vc9.dll actually
up
0
Daniel
9 months ago
This may help also:

http://blog.salientdigital.com/2012/05/16/how-to-fix-no-acceptable-c-compiler-found-in-path-on-mac-os-x-lion/

Xcode doesn't ship with "Command Line Tools", you need to install then after installing Xcode.

You need Command Line Tools to get the program `m4` that you need to install mongo driver using: sudo pecl install mongo.

HTH
up
-1
bradley dot henke at colorado dot edu
1 year ago
Instructions for Manually Installing MongoDB for PHP for use with "XAMPP for Linux":

There were two gotchas that I ran into. "XAMPP for Linux" needs 32 bit libraries, and the php API version must match the php API version of "XAMPP for Linux".
Hopefully this will save someone else time figuring this all out!

1) Install "XAMPP for Linux" AND the "XAMPP for Linux Development Files".

2) Grab the source code from github (in the manual instructions above)
$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz
$ cd mongodb-mongodb-php-driver-<commit_id>

There are now some smalls deviation from the manual instructions...
3) PHPize
$ sudo /opt/lampp/bin/phpize

4) Configure
$ ./configure

5) Make changes to the Makefile (XAMPP requires a 32-bit compilation)
- Choose your favorite text editor and open "Makefile"
- Make the following changes:
Line 20: prefix = /opt/lampp
Line 23: prefix = /opt/lampp
Line 25: phpincludedir = /opt/lampp/include/php
Line 27: CFLAGS = -g -O2 -m32
Line 34: EXTENSION_DIR = /opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/
Line 35: PHP_EXECUTABLE = /opt/lampp/bin/php

Make sure you replace </path/to/mongo-php-driver-master>
Line 38: INCLUDES = -I/opt/lampp/include/php -I/opt/lampp/include/php/main -I/opt/lampp/include/php/TSRM -I/opt/lampp/include/php/Zend -I/opt/lampp/include/php/ext -I/opt/lampp/include/php/ext/date/lib -I</path/to/mongo-php-driver-master>/util -I</path/to/mongo-php-driver-master>/exceptions -I</path/to/mongo-php-driver-master>/gridfs -I</path/to/mongo-php-driver-master>/types -I</path/to/mongo-php-driver-master>/mcon

6) Compile
$ sudo make all

7) Copy the static object into the extension directory
$ sudo cp modules/mongo.so /opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/

9) Update your php.ini file
- Grab you favorite text editor and open /opt/lampp/etc/php.ini (you'll probably need to use sudo).
- Add the line: extension=mongo.so

10) Restart "XAMPP for Linux". You should now be able to see Mongo listed in your phpinfo() page! Installation Complete!!!

Good Luck!
up
-4
tiago dot braga at gmail dot com
3 years ago
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.
up
-6
rishi at plavaga dot in
3 years ago
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.
To Top