2016-04-18 14 views
0

Ich benutze Laravel 5.1 mit MongoDB. Ich installierte bereitsNicht unterstützter Treiber [mongodb] Laravel

https://github.com/jenssegers/laravel-mongodb

Problem ist ich diese Störung erhalte, wenn meine Fragen laufen:

Unsupported driver [mongodb] 

Aber ich bereits meine Fahrer in meinem Rechner installiert haben. Ich benutze Windows 10 und WAMP. Ich kann es mit php info bestätigen:

enter image description here

ich auch alle meine php.ini-Dateien überprüfen, die ich bereits meine DLL enthalten und sieht gut aus. Ich habe auch meine Fahrer.

Meine jessengers Version ist v3.0.2

Antwort

0

Es gibt 2 mongodb Treiber in php:

laravel-mongodb Readme lautet:

WARNUNG: Der alte Mongo PHP-Treiber ist nicht mehr in Versionen unterstützt> = 3,0

Laravel 5.1 kann entweder mit jenssegers/mongodb v2.2 oder jenssegers/mongodb v3.0 verwendet werden. Ersteres erfordert einen Legacy-Treiber, der später einen neuen Treiber benötigt.

Überprüfen Sie, welche Version von jenssegers/mongodb Sie verwenden, und stimmen Sie mit php mongodb Treiber überein.

+0

Hallo Danke für die Anregung, so jetzt bin ich mit den Legacy-Treiber? Auch in Link gabst du mir, http://php.net/manual/en/set.mongodb.php scheint ich kann nur die Klassendateien sehen, wo finde ich die DLL-Extension-Datei? – jackhammer013

+0

Warum? Der Fahrer auf dem Bild ist der Neue. Was Sie tun müssen, ist zu bestätigen, welche Version von 'jenssegers/mongodb' Sie verwenden. Es ist in 'composer.lock'. –

+0

Danke für die Hilfe, ich sehe die composer.lock sagt v3.0.2 für meine jessengers.mongodb – jackhammer013

1

Run this:

Komponist erfordern jenssegers/mongodb: *

+0

Können Sie erklären, wie dies die Frage lösen würde? – Timothy

+0

nach der Installation von jenssegers Paket –

1

Komponisten erfordern jenssegers/mongodb: *

jenssegers Paket von oben Befehl installieren

dann

Komponist Update

müssen Sie Datenbank bezogene Änderungen in .env Datei machen:

DB_CONNECTION=mongodb 
DB_HOST=localhost 
DB_PORT=27017 
DB_DATABASE=mongodb 
DB_USERNAME= 
DB_PASSWORD= 

und in config/database.php Datei:

'default' => env('DB_CONNECTION', 'mongodb') 

'mongodb' => [ 
     'driver' => 'mongodb', 
     'host'  => env('DB_HOST', 'localhost'), 
     'port'  => env('DB_PORT', 27017), 
     'database' => env('DB_DATABASE','mongodb'), 
     'username' => env(''), 
     'password' => env(''), 
    ], 

über Parameter ändern, wie pro Ihre entsprechenden Anmeldeinformationen.

Auch in der Konfig/App.

php
Jenssegers\Mongodb\MongodbServiceProvider::class, 
3

Ich glaube, Sie die Zeile fehlen: den Service-Provider hinzufügen in config/app.php:

Jenssegers\Mongodb\MongodbServiceProvider::class,

der Dokumentation.

https://github.com/jenssegers/laravel-mongodb

+0

Während ein Link zu einer möglichen Lösung immer willkommen ist, sollte eine Antwort auf Stack Overflow immer die wichtigsten Teile/Punkte der Lösung im Antworttext selbst enthalten. Lediglich eine Verbindung zu einer Lösung ohne weiteren Kommentar wird nicht als akzeptable Antwort betrachtet. Siehe [fragen], um eine richtige Antwort zu formulieren. – Magisch

+0

@Magisch - Sie haben Recht. Ich werde dem folgen. und aktualisierte meine Antwort. – 151291