Nie znaleziono klasy „MongoDB \ Driver \ Manager”

1

Tworzę REST APi z frameworkiem Lumen. Używam Mongolab do mojego mongoDB i chcę hostować moją aplikację w Google App Enginge. Używam biblioteki Jessenger do komunikacji z moją bazą danych na MongoLab. Everhting jest w porządku, kiedy uruchamiam aplikację lokalnie, ale kiedy wdrażam na GAE, dostaję

Błąd krytyczny: nie znaleziono klasy „MongoDB \ Driver \ Manager” w /base/data/home/apps/s~lumentestapi/v1.391053224987814328/ vendor / mongodb / mongodb / src / Client.php w linii 56

Włączyłem

rozszerzenie = mongo.so

w php.inizlokalizowanym w katalogu głównym.

Jakaś pomoc, jak mogę to naprawić?

Wiktor Pietrowski
źródło

Odpowiedzi:

0

Czy używasz nowego sterownika mongodb , a nie sterownika mongo ?

Jeśli tak, powinieneś użyć:

extension=mongodb.so

php.inizamiast tego w twoim pliku.

(Ostatnio miałem ten problem podczas aktualizacji naszych serwerów)

Sevenstories
źródło
1

Upewnij się, że zainicjowałeś klasę sterowników jak poniżej

$manager = new MongoDB\Driver\Manager("mongodb://localhost");
$collection = new MongoDB\Collection($manager, "logs","capped_logs");
Sanket Mehta
źródło
1

Jeśli używasz PHP7. *. z Ubuntu możesz wykonać następujące czynności:

sudo apt update && sudo apt install php-mongodb

Zakłada się, że biblioteka została zainstalowana przez composer require mongodb/mongodb

Następnie pamiętaj o ponownym uruchomieniu serwera aplikacji. Sprawdzić phpinfo()za mongo.

Jonathan
źródło