如何连接PHP7和MongoDB

6
我正在尝试将PHP 7与mongoDB连接,我按照页面的说明使用pecl安装了“新”MongoDB驱动程序。从phpInfo()输出中可以看到MongoDB版本为1.1.8,但我无法弄清如何从PHP代码中初始化连接:p。以下代码包括我的连接尝试(甚至尝试使用旧方法进行连接)。
// new fashion way
$connection = new MongoDB\Driver\Client();

// or by using old fashion way
$conn = new MongoClient();

// random try :p
$randConn = new MongoDB\Client();

在这两种情况下,我都收到了未定义类异常。请告诉我我错过了什么,我的错误在哪里,请尽可能提供示例以便更容易理解;)。
PS:使用的操作系统是Ubuntu 14.04 LTS。

提前感谢。


你看过这两个页面了吗?https://secure.php.net/manual/en/mongodb.tutorial.library.php https://github.com/mongodb/mongo-php-library/tree/master/src - Adam Forbis
是的,接下来要做的就是建立连接。应该有一个类来构造它(传递连接细节),但是找不到它。 - rramiii
看起来客户端类应该是 MongoDB\Client - Adam Forbis
已经尝试过了,将其添加到尝试列表中并在问题中提及。 - rramiii
你已经使用Composer下载了这个库吗? - Adam Forbis
roytuts.com/mongodb-php7-xampp-windows/ - user3470953
1个回答

9
您所提到的页面是 MongoDB 的低级 PHP 驱动程序。该 API 与 HHVM 驱动程序 for MongoDB 相同。两者的文档相同,可在http://docs.php.net/manual/en/set.mongodb.php找到。
该驱动程序被编写为与 MongoDB 通信的基本层,因此缺少许多便利功能。相反,这些便利方法已分成一个用 PHP 编写的层,即 MongoDB Library。使用此库应该是您与 MongoDB 交互的首选方式。
必须使用 Composer 进行安装,它是 PHP 的包管理器。另请参见 获取 Composer:Linux/OSX 上的安装
例如:
composer require "mongodb/mongodb=^1.0.0"

安装完成后,您可以尝试使用以下方式进行连接:
<?php
 require 'vendor/autoload.php';
 $collection = (new MongoDB\Client("mongodb://127.0.0.1:27017"))->dbname->coll;
?>

参见:


谢谢,这就是缺失的部分。 - rramiii

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接