5

PHP开发中,使用Mongo扩展来链接MongoDB资源进行增删改查等操作。

在选择Mongo扩展的时候,官方提供了两种:

第一种:https://pecl.php.net/package/...

clipboard.png

第二种:https://pecl.php.net/package/...

clipboard.png

在第二种的界面上,官方提示:This package has been superseded, but is still maintained for bugs and security fixes。

大意就是说,这个包已经被取代了,但仍然保持漏洞和安全补丁,至于维护到什么时候,具体没说。

很显然,替代它的就是 第一种。

那么这两种扩展有什么不同?

链接方式不同
//第一种 安装的扩展名:mongo
$mongoUrl = "mongodb://127.0.0.1:27017/user_info";
$mongoClient = new MongoClient($mongoUrl);
$mongoDB = $mongoClient->user_info;
$collections = $mongoDB->listCollections();
foreach ($collections as $collection) {
    var_dump($collection);
}
//第二种 安装的扩展名:mongodb
//利用 composer 进行安装(安装方式见末尾)
//composer require mongodb/mongodb
require 'vendor/autoload.php'; //include Composer's autoloader
$mongoUrl = "mongodb://127.0.0.1:27017/user_info";
$mongoClient = new MongoDB\Client($mongoUrl);
$mongoDB = $mongoClient->user_info;
$collections = $mongoDB->listCollections();
foreach ($collections as $collection) {
    var_dump($collection);
}
发布时间不同

mongo 1.6.14(最新版) 2016-04-26 发布。

mongodb 1.2.6(最新版) 2017-03-07 发布。

至于,mongo 什么时间停止维护,还没有具体的答案。

其他不同

可能在具体的使用过程中,才能区分开来。

据说,两个扩展提供的类和接口完全不一样。

大家去探索吧~

建议

PHP版本为5.x建议使用 mongo 扩展。

PHP版本为7 建议使用 mongodb 扩展。

当然,PHP5.x 也可以使用 mongodb 扩展。

但是,php7 不可以使用 mongo 扩展。

PHP可以同时安装这两个版本,如下图:

clipboard.png

PHP手册:

https://secure.php.net/manual...

https://secure.php.net/manual...

安装 composer
//Linux 服务器
cd ~
curl -sS https://getcomposer.org/installer | php
//移动到 bin 目录
mv composer.phar /usr/local/bin/composer
composer -V
//创建一个composer.json文件
{
    "require": {

    }
}

推荐阅读

一起学习


程序员新亮
2.9k 声望1.2k 粉丝

GitHub 9K+ Star,其中适合 Go 新手的开箱即用项目 go-gin-api 5.2K Star:[链接],联系我:wx-xinliang