PHP扩展 Mongo 与 MongoDB

作者: 新亮笔记 | 来源:发表于2017-03-10 15:50 被阅读162次

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

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

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

    mongodb扩展

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

    mongo扩展

    在第二种的界面上,官方提示: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可以同时安装这两个版本,如下图:

    PHPINFO

    PHP手册:

    https://secure.php.net/manual/zh/book.mongo.php

    https://secure.php.net/manual/zh/set.mongodb.php

    安装 composer

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

    Thanks ~

    相关文章

      网友评论

        本文标题:PHP扩展 Mongo 与 MongoDB

        本文链接:https://www.haomeiwen.com/subject/iaxogttx.html