如何解决不支持的驱动程序[mongodb]?

问题描述:

我用的是XAMPP 32位PHP 7.1.1如何解决不支持的驱动程序[mongodb]?

我对我的窗户安装的MongoDB 3.4.2(Windows 8的亲64位)

而且我也有安装驱动程序(php_mongodb.dll)

我从这里得到:https://pecl.php.net/package/mongodb/1.2.5/windows(7.1线程安全(TS)86)

但是,我的系统执行时,还存在错误:

谁ops,貌似出了问题。

1/1 InvalidArgumentException在ConnectionFactory.php线278: 不支持的驱动器[mongodb的]在 ConnectionFactory->的createConnection( 'mongodb的',对象(闭合),ConnectionFactory.php线278 'myappdb', '' ,数组('driver'=>'mongodb','host'=>'127.0.0.1', 'port'=>'27017','database'=>'myappdb','username'=>'',在ConnectionFactory.php行中使用'password'=>'','options'=> array('database'=>'admin'),'prefix' =>'','name'=>'mongodb')) 64在ConnectionFactory-> createSingleConnection(array('driver'=>'mongodb', 'host'=>'127.0.0.1','port'=>'27017','database'=>'myappdb', ' username'=>'','passwor d'=>'','options'=> array('database'=> 'admin'),'prefix'=>'','name'=>'mongodb'))in ConnectionFactory.php line 50在 ConnectionFactory-> make(array('driver'=>'mongodb','host'=> '127.0.0.1','port'=>'27017','database'=>'myappdb','username '=> '','password'=>'','options'=> array('database'=>'admin'), 'prefix'=>'','name'=>'mongodb') ,'mongodb')in DatabaseManager.php第176行 DatabaseManager.-> makeConnection('mongodb')DatabaseManager.php行 68 at DatabaseManager-> connection('mongodb')in Model.php line 3351 at Model: :Model.php第3317行中的resolveConnection('mongodb') Model.php中的Model-> getConnection() p行395在 model-> newBaseQueryBuilder()在Model.php行1834在 Model-> newQueryWithoutScopes()Model.php行1450在Model-> save() 在ReviewController.php行31在ReviewController-> index ()at Controller.php中的数组(()(array(object(ReviewController),'index'), array()) at RouteDispatcher-> dispatch(object(Route), object(ReviewController),'index')in Route.php line 189 at Route-> runController()in Route.php line 144 at Route-> run(object (Request))在Router.php行653中 Router-> Illuminate \ Routing {closure}(object(Request))in Pipeline.php Pipeline-> Illuminate \ Routing {closure}(object(Request))中的第53行SubstituteBindings.php第41行 Pipeline中的SubstituteBindings-> handle(object(Request),object(Closure))。在 Pipeline.php line 33 at Pipeline-> Illuminate \ Routing {closure}(object(Request)) Authenticate.php line Pipeline-> Illuminate \ Pipeline {closure}(object(Request)在Pipeline.php行137中进行Authenticate-> handle(object(Request), object(Closure)),在 管道中管道 - >照亮\ Pipeline {closure}(object(Request))。在 Pipeline.php行 VerifyCsrfToken-> handle(object(Request),object(Closure))中的 VerifyCsrfToken.php 65行的管道 - >照亮\路由{closure}(对象(请求)在 管道 - >照亮\路由{闭合}(对象 ShareErrorsFromSession->手柄在 管道在 Pipeline.php线33(对象(请求),对象(封闭))在 Pipeline.php线137在 Pipeline->照亮\管道{闭合}(对象(请求)) - >照亮\路由{闭合}(邻(请求)) StartSession.php第64行在StartSession-> handle(object(Request), object(Closure))在Pipeline.php行137在 Pipeline-> Illuminate \ Pipeline {closure}(object(Request )) Pipeline.php line 33 at Pipeline-> Illuminate \ Routing {closure}(object(Request))in AddQueuedCookiesToResponse.php line 37 at AddQueuedCookiesToResponse-> handle(object(Request),object(Closure)) in Pipeline.php line 137 at Pipeline-> Illuminate \ Pipeline {closure}(object(Request))in Pipeline.php line 33 at Pipeline-> Illuminate \ Routing {closure}(object(Request))in EncryptCookies-> handle(object(Reque管道 - >照亮\管道{关闭}(对象(请求))在 Pipeline.php第33行在 管道 - >照亮\路由{关闭})在Pipeline.php线137在 管道 - >照亮\ (对象(请求))在 Pipeline.php line 104在Pipeline-> then(object(Closure))in Router.php line 655 at Router-> runRouteWithinStack(object(Route), object(Request))in Router .php line 629 at Router.php line中的Router-> dispatchToRoute(object(Request))607行 Kernel.php中的Router-> dispatch(object(Request))268行 Kernel-> Illuminate \ Foundation \ Http {closure}(object(Request))in Pipeline.php line 53 at Pipeline-> Illuminate \ Routing {closure}(obj (请求)) Debugbar.php第51行在Debugbar-> handle(object(Request), object(Closure))在Pipeline.php行137在 Pipeline-> Illuminate \ Pipeline {closure}(object(Request )) Pipeline.php line 33 at Pipeline-> Illuminate \ Routing {closure}(object(Request))in CheckForMaintenanceMode.php line 46 at CheckForMaintenanceMode-> handle(object(Request),object(Closure))在 Pipeline.php 137行 Pipeline-> Illuminate \ Pipeline {closure}(object(Request))in Pipeline.php line 33 at Pipeline-> Illuminate \ Routing {closure}(object(Request))in 在Pipeline->然后(对象(闭包))在Kernel.php中的Pipeline.php第104行 线150在内核级> sendRequestThroughRouter中的index.php 线 Kernel.php线117(对象(请求))在内核级>手柄(对象(请求))53

我似乎已经安装驱动程序正确,但为什么仍然存在错误

我该如何解决?

+0

只是猜测,但你的驱动程序是x86!= x64像你的mongodb? – Myonara

+0

@Myonara,我使用驱动程序32位,因为我的版本xampp是32位。它应该是一样的。我的mongodb支持32位&64位。看看这个:https://www.mongodb.com/download-center?jmp=nav#community –

我认为Laravel正在寻找一个数据库驱动程序,而不是PHP驱动程序。确保你已经安装了一个PHP软件包,它将桥接MongoDB的数据库连接,并且配置正确。

+0

我更改为xampp 32位PHP 7.0.8,它的工作原理。 xampp 32位PHP 7.1.1似乎有问题 –