mongodb se connecter à l'aide de php
Que si le mot de passe ayant @
dans mongodb connecter
mongodb://[nom d'utilisateur:mot de passe@]host1[:port1][,host2[:usb2:],...]/db
supposons que username='abc'
et password='abc@123'
et en php, nous créer mongo db d'instance comme
$m = new Mongo('mongodb://[abc:abc@123@]localhost/abc');
puis il donne une erreur comme ceci
Fatal error: Uncaught exception 'MongoConnectionException' with message 'n'a pas pu obtenir d'accueil pour info 123@]localhost'
alors comment résoudre ce type de problème..
Les crochets ne sont que les indicateurs de la partie de la chaîne de connexion est facultatif. Vous n'avez pas à spécifier dans votre chaîne de connexion. Mais oui, avoir le
@
les caractères de votre mot de passe est une question pour laquelle vous avez besoin de suivre la réponse de PhilOriginalL'auteur Rohan Kumar | 2012-07-06
Vous devez vous connecter pour publier un commentaire.
Option 1
Transmettre les informations d'identification via le deuxième argument de la
Mongo
constructeurOption 2
Utiliser le
MongoDB::authenticate()
méthodeGardez à l'esprit...
2014 mise à Jour
Instanciating
Mongo
directement est maintenant obsolète. Le conseil est d'utiliserMongoClient
au lieu de cela, avec les mêmes arguments que ci-dessus. Par exempleMerci. Veuillez noter que la réponse originale à cette question est maintenant de plus de deux ans
OriginalL'auteur Phil
À l'aide de new Mongo(); peut créer des problèmes
"Avertissement: Instanciating cette classe va émettre de niveau e_deprecated à partir d'avertissement et d'éteindre reconnu écrit." - php.com
Utilisation MongoClient() insted
OriginalL'auteur Pian0_M4n
J'ai utilisé php version 7.0 sur ubuntu 16.04. C'est une info détaillée pour résoudre le problème de connectivité. (Ignorez les pièces qui vous l'ont déjà fait)
J'ai d'abord installé manuellement mongodb et puis la mongodb-php pilote pour elle.
1) l'Installation de mongo db. Entrez les commandes suivantes:
Afin de bien lancer Mongdb comme un service, c'est à dire automatiquement à partir Mongodb lorsque le système démarre, suivez les étapes suivantes:
De créer le fichier de mongodb.service dans /etc/systemd/system/en entrant la commande:
Collez le contenu suivant:
Puis entrez les commandes suivantes:
2) Installation de l'mongo-driver php:
Aussi, vous pouvez recevoir l'erreur: la commande phpize pas trouvé. La commande phpize est une commande qui est utilisé pour créer un environnement de construction. Cette erreur peut apparaître au moment de l'installation de toute extension pecl. Pour résoudre ce problème de la commande phpize de commande n'est pas trouvé, l'utilisateur doit installer php5-dev paquet.
Pour l'installer, entrez la commande:
Puis dans le php.fichier ini qui est dans /etc/php/7.0/apache2 répertoire, ajoutez les mongo db extension:
Ajouter la ligne suivante dans le fichier:
extension = mongodb.de la sorte;
(Si vous le savez, l'emplacement exact du fichier mongodb.il est dans /usr/lib/php/20151012/mongodb.donc.)
De sorte que le mongo db est installé avec son pilote.
3) Maintenant, gardez à l'esprit que les mongo-php classes ont été modifiées. La plupart des ressources disponibles sur le net donnent des solutions à l'aide de vieux classes qui est remplacée. Ci-dessous les liens qui vous pouvez vous référer à:
http://php.net/manual/en/set.mongodb.php
http://zetcode.com/db/mongodbphp/
Voici quelques commandes de base opérations de base de données:
Pour insérer des données dans la base de données:
Pour l'extraction de données:
OriginalL'auteur Pransh Tiwari