Was ich getan habe:
Aktivierte Authentifizierung in /etc/mongod.conf
:
Erstellt den ersten Benutzer aus der Shell wie im Dokument angegeben:
%Vor% Mit dem admin
Benutzer habe ich einen root
Benutzer erstellt, um auf mongodb zuzugreifen:
Bis zu diesem Punkt funktioniert alles gut, da ich mich mit der Mongo-Shell authentifizieren kann:
%Vor%und es funktioniert perfekt, da ich alle Operationen in der db machen kann.
Das Problem :
wenn ich versuche, mich von PHP mit demselben root
user zu authentifizieren:
Es gibt den Fehler:
Verbindung fehlgeschlagen mit: localhost: 27017: Authentifizierung fehlgeschlagen für Datenbank 'admin' mit Benutzername 'root': auth failed
Warum kann sich PHP nicht auf mongodb authentifizieren, wenn die Authentifizierung mit den gleichen Zugangsdaten von der Mongo-Shell funktioniert?
Weitere Hinweise:
Ich hatte das gleiche Problem, in meinem Fall habe ich mongo mit apt-get
installiert %Vor%Und es scheint, dass Ubuntu-Repositories immer noch die Version 1.4 hat und das Paket noch nicht aktualisiert hat. Wenn Sie Mongo unter Ubuntu installieren möchten, sollten Sie die pecl-Option verwenden
%Vor% Benutze niemals apt-get
für die Installation von mongo für PHP.
nach Mongo-Installationsanweisungen in Windows-Versionen muss die mongo.dll in den Systempfad z. c: \ windows. Ich habe das getestet und es funktioniert.
Tags und Links php authentication mongodb ubuntu ubuntu-14.04