【发布时间】:2019-03-10 11:18:39
【问题描述】:
我正在尝试使用 MAMP 为 PHP 安装 mongoDB 扩展,这样我就可以访问我的 MongoDB 服务器,据我所知,我做的一切都是正确的,但我仍然遇到错误。
我已经安装了 MongoDB 扩展 - 我知道是因为:
$sudo pecl install mongodb
pecl/mongodb is already installed and is the same as the released version 1.5.3
install failed
我的 phpinfo 也显示了这个:
我还包括以下内容:
var_dump(extension_loaded('mongodb'));
echo phpversion('mongodb')."\n";
返回的:
/Applications/MAMP/htdocs/mongo.php:35:boolean true
1.5.3
我也有:
$ composer require mongodb/mongodb
Using version ^1.4 for mongodb/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
phpinfo 告诉我我的 php.ini 文件在这里:
我已经添加了:
extension=mongodb.so
在我的 PHP 文件中,我有以下内容:
require 'vendor/autoload.php'; // include Composer's autoloader
$m = new MongoDB\Driver\Manager("mongodb://localhost:27017");
//$m = new MongoDB\Client("mongodb://localhost:27017");
echo "connected successfully";
// select a database
$db = $m->bob;
echo "database selected";
如果我尝试使用 MongDB/Client 选项,我会收到以下错误:
Fatal error: Uncaught Error: Class 'MongoDB\Client' not found in /Applications/MAMP/htdocs/mongo.php on line 61
如果我尝试 MongoDB/Driver 选项,我会收到以下错误:
Notice: Undefined property: MongoDB\Driver\Manager::$bob in /Applications/MAMP/htdocs/mongo.php on line 52
MongoDB\Driver 等的 var_dump 给出以下信息:
/Applications/MAMP/htdocs/mongo.php:38:
object(MongoDB\Driver\Manager)[3]
public 'uri' => string 'mongodb://localhost:27017' (length=25)
public 'cluster' =>
array (size=0)
empty
有什么我可能会错过的吗?
【问题讨论】: