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)
I have PHP 7.0.13, MAMP and MongoDB. The MongoDB extension for PHP has been installed.
I have the following:
<?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());
?>
What does 'wire' refer to in this context, and does anyone have a solution for this problem?
I have got the problem on Linux Mint 19 (think that Ubuntu 18+ can have the same problem):
As the message says - server driver version and mine one are different. This happened because I installed php mongo driver with the command:
The SOLUTION was to completely uninstall php mongo driver:
and then install php-mongodb from Pecl mongodb php extension:
(If you bump into error
pecl: command not found
, just install PEAR package in order to usepecl
installer.sudo apt-get update && sudo apt-get install php-pear
)After that add the next line to your
php.ini
file:Don't forget to reload the web server:
That's it. Everything should work!