Bien le bonjours à tous ! Eh bien, comme le suggère le titre, je n'arrive pas à faire fonctionner la base de donnée MongoDB sur mon serveur Wamp ( je dois utiliser cette base de donnée dans un cadre scolaire ). Je viens demander de l'aide ici, en espérant recevoir une aide de la part de quiconque que ce soit
Alors premièrement voilà une brève description de ma bécane :
J'ai installé MongoDB comme il faut, créé le service Windows, le tout selon la doc ( http://docs.mongodb.org/... )... Enfin bref le service fonctionne, est actif dans le gestionnaire des tâches, et ayant rajouté le chemin C:\...\mongodb\bin au PATH, taper la commande "mongo" dans l'invite de commande fonctionne parfaitement. Tout semble correct de ce côté làOS : Windows 8
Wamp : Version 2.5
↳path : C:\...\wamp
PHP : Version 5.5.12 (version utilisée par wamp)
↳path : C:\...\wamp\bin\php\php5.5.12
MongoDB : Version 3.0
↳path : C:\...\mongodb
J'ai ensuite téléchargé le driver mongo pour php d'ici : https://s3.amazonaws.com/drivers.mon...php/index.html,
et ai pris toutes les précautions nécessaires pour installer le bon driver ( selon http://docs.mongodb.org/ecosystem/drivers/php/ ), c'est à dire rajouter « extension=php_mongo.dll » dans le fichier C:\...\wamp\bin\php\php5.5.12\php.ini, extraire le fichier php_mongo-blablabla.dll du package et l'insérer dans \ext sous le nom de php_mongo.dll.
pour le choix du php_mongo-blablabla.dll je m'en suis remis aux conseils trouvés dans des forums, au bon sens et à l'expérience :
- Pour les conseils : http://forum.wampserver.com/read.php?2,125020 → RiggsFolly conseillait d'installer php_mongo-1.5.4-5.5-vc11.dll ; auparavant j'avais également essayé avec les dernières versions, c'est à dire à partir du package php_mongo-1.6.6.zip
- pour le bon sens : je dois sélectionner les versions contenant -5.5-, d'après ma version de php, et je dois choisir une version thread-safe, c'est à dire non nts ( pour preuve : le fichier php5ts.dll dans C:\...\wamp\bin\php\php5.5.12 ).
- restait à choisir entre php_mongo-1.5.4-5.5-vc11.dll et php_mongo-1.5.4-5.5-vc11-x86_64.dll. Seule la deuxième version de provoquait pas d'erreur au lancement de wamp. D'ailleur voici l'erreur relevée avec la première :
J'ai bien sur également essayé avec les versions nts, ce qui provoquait inévitablement des erreurs.
Code Message d'erreur : Sélectionner tout - Visualiser dans une fenêtre à part PHP Startup: Unable to load dynamic library 'C:/.../wamp/bin/php/php5.5.12/ext/php_mongo.dll' - %1 n'est pas une application Win32 valide.
Or, une fois le serveur lancé avec php_mongo-1.5.4-5.5-vc11-x86_64.dll, bien qu'il n'y ait pas d'erreur au lancement, charger la base de donnée reste impossible : en effet l'exécution du code suivant ( dans un index.php par exemple ) produit une erreur ( à l'affichage de la page sur un navigateur ) :
L'erreur produite est : « Fatal error: Class 'MongoClient' not found in C:\...\wamp\www\monsite\index.php on line 1 », ce qui me fait penser que l’extension s'est mal chargée.
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part <?php $m = new MongoClient(); ?>
J'ai rajouté C:\...\wamp\bin\php\php5.5.12 au PATH dans l'espoir de résoudre le problème, ce qui n'a rien changé.
Après quelques recherches j'ai lu qu'il se pouvait que le php.ini utilisé par wamp pouvait être celui d'Apache, situé dans C:\...\wamp\bin\apache\apache2.4.9\bin. J'ai donc rajouté « extension=php_mongo.dll » à ce dernier, sans grand succès, encore une fois.
Quelqu'un pourrait-il m'aider de quelque manière que ce soit ? Cela fait un moment que je tourne en rond à la recherche de documentation sur Internet, et que j'essaie de résoudre ce problème, en vain.
Merci d'avance, Eleectraz
Partager