gpt4 book ai didi

php - MongoDB 异常 : Server reports wire version 0, 但 libmongoc 的版本至少需要 3

转载 作者:可可西里 更新时间:2023-11-01 09:11:07 41 4
gpt4 key购买 nike

Fatal error: Uncaught MongoDB\Driver\Exception\ConnectionException: Server at localhost:27017 reports wire version 0, but this version of libmongoc requires at least 3 (MongoDB 3.0)

我有 PHP 7.0.13、MAMP 和 MongoDB。 PHP 的 MongoDB 扩展已经安装。

我有以下内容:

<?php

ini_set('display_errors', 'On');
require 'vendor/autoload.php';
var_dump(extension_loaded('mongodb'));
echo phpversion('mongodb')."\n";

$m = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $m->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());

?>

在此上下文中,“wire”指的是什么,有人对此问题有解决方案吗?

最佳答案

我在 Linux Mint 19 上遇到了问题(认为 Ubuntu 18+ 也可能有同样的问题):

Server at IP:27017 reports wire version 2, but this version of libmongoc requires at least 3 (MongoDB 3.0)

正如消息所说 - 服务器驱动程序版本和我的不同。发生这种情况是因为我使用以下命令安装了 php mongo 驱动程序:

sudo apt-get install php7.2-mongodb

解决方案是完全卸载 php mongo 驱动程序:

sudo apt-get remove --auto-remove php-mongodb

然后从 Pecl mongodb php extension 安装 php-mongodb :

sudo pecl install mongodb-1.4.4

(如果遇到错误 pecl: command not found,只需安装 PEAR 包即可使用 pecl 安装程序。sudo apt-get更新 && sudo apt-get install php-pear)

之后将下一行添加到您的 php.ini 文件中:

extension=mongodb.so

不要忘记重新加载网络服务器:

sudo systemctl reload apache2

就是这样。一切都应该有效!

关于php - MongoDB 异常 : Server reports wire version 0, 但 libmongoc 的版本至少需要 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52669717/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com