1

我正在使用 XAMPP。安装了 mongo 版本 3.4.1 如果我点击 $mongo 命令,我会得到 -

MongoDB shell version v3.4.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.1

如果我点击 $php -i | grep mongo 然后我得到 -

mongodb support => enabled
mongodb version => 1.2.2
mongodb stability => stable
libmongoc version => 1.5.0
mongodb.debug => no value => no value

我在 laravel 5.1 版中需要 "jenssegers/mongodb": "^3.1"

我已经在 database.php 中使用 mongo 配置了 laravel 也使用 PHP artisan mitrate 命令进行了迁移,并且已经在 mongo 中创建了表。

路由后,我只添加了

DB::collection('collection_name')->get();

但我收到“Client.php 第 81 行中的 FatalThrowableError:找不到类 'MongoDB\Driver\Manager'”错误

有人可以在这里帮助我吗?我不知道发生了什么!有没有像我从命令提示符安装 mongo 并且正在使用 XAMPP 的东西?

4

2 回答 2

1

比较php -iCLI 和phpinfo()Web SAPI 的输出。特别是,比较“加载的配置文件”值和每个 SAPI 加载的各种 INI 文件的路径。很可能每个都使用不同的php.ini配置,并且扩展只是为 CLI 环境加载。

于 2017-01-30T18:49:55.717 回答
0

检查您使用的 php 的默认版本。尝试在 php 页面中运行 phpinfo()。您可以创建一个 php 文件并将其包含在文件中:<?php phpinfo(); ?> 如果您在加载的页面上没有看到 Mongodb 信息,则它不会与当前运行的 php 版本通信。检查页面顶部的当前 php 版本。最新的php版本是php7.1。这是 mongodb 用来运行的。使用以下命令卸载较低版本的 php:apt-get uninstall php7.0确保包含要删除的正确版本的 php。使用以下命令安装最新版本:apt-get install php7.1,(确保安装最新版本的 php)* 在编写本文档时,当前版本是 php7.1 确保在 vagrant 框中进行更改。通过键入exit 退出该框。这会让您开箱即用。如果您收到此错误,请执行 vagrant 配置:在您的 IDE 上打开 vagrant homestead.rb 文件并执行以下操作:搜索 /etc/php/7.0/php-fpm.conf。将其替换为 /etc/php/7.1/php-fpm.conf 将所有 php7.0 替换为 php7.1。如果您使用的是 sublime text IDE,请按 CTRL+SHIFT+F 搜索 /etc/php/7.0/php-fpm.conf 的出现,然后键入要搜索的值。单击出现的文件并将 7.0 替换为 7.1 保存所做的所有更改。回到你的 git bash。运行 sh init.sh 以使更改生效。键入 yes 以覆盖当前 homestead.yaml。做一个流浪汉启动盒子。Vagrant Provision 用于在文件上运行任何已配置的配置器

于 2017-02-19T22:51:12.053 回答