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
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 :
Vérifiez bien qu'il s'agisse du même dossier d'extensions que celui de votre PHP en lançant:Installing '/usr/lib/php/extensions/no-debug-zts-20060613/mongo.so'Si ce n'est pas le cas, changez extension_dir de php.ini ou placez manuellement mongo.so.$ php -i | grep extension_dir extension_dir => /usr/lib/php/extensions/no-debug-zts-20060613 => /usr/lib/php/extensions/no-debug-zts-20060613 -
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
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
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.
-
» 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.
-
» Installation de MongoDB et du driver PHP sous Ubuntu 9.04
Article espagnol par Javier Aranda (» traduction anglaise).
-
» OS X: Installation de MongoDB et du driver PHP Mongo
Par Matt Butcher.
There is no php_mongo.dll for x64 PHP. PHP doesn't load pre-compiled version (error: "%1 is not a valid Win32 application")
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.
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.
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.
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.
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.
For Debian users: apt-get install php5-dev will install phpize for you.
