【问题标题】:New PHP driver 1.2.3 not compatible to MongoDB 3.4 on laravel 4.2新的 PHP 驱动程序 1.2.3 与 laravel 4.2 上的 MongoDB 3.4 不兼容
【发布时间】:2017-06-08 19:11:05
【问题描述】:

我们正在我们的网络应用程序中使用以下软件,例如...

  1. Laravel 4.2(PHP 框架)
  2. MongoDB(3.4)
  3. PHP 5.6 版(Ubuntu 14 LTS)

    所以在将 MongoDB 版本从 2.6 更新到 3.4 之后,一些 API 关闭了。(坐标搜索)

    所以我们发现需要从 mongodb 站点升级 php 驱动程序! (参考链接:http://php.net/manual/en/mongodb.installation.php

    -对以下文件进行必要的更改

    -php.ini (/etc/php5/cli/php.ini) -phpini (/etc/php5/apache2/php.ini) -mongo.ini (/etc/php5/mods-available/mongo.ini)

    变化只有一行:extension=mongo.so TO extension=mongodb.so

    但是仍然出现以下错误.. [2017 年 1 月 23 日星期一 16:38:58.714244] [:error] [pid 5612] [client 127.0.0.1:60816] PHP 致命错误:未捕获的异常 'ReflectionException' 与 /var/www 中的消息 'Class MongoException 不存在' /projectfolder/vendor/laravel/framework/src/Illuminate/Exception/Handler.php:310\n堆栈跟踪:\n#0

    有人可以帮忙吗?

    提前致谢

【问题讨论】:

    标签: php mongodb laravel laravel-4


    【解决方案1】:

    请将您的 mongo 课程添加到 app.php。就像在我的文件中一样,我已经添加了这样的内容。

       'Jenssegers\Mongodb\MongodbServiceProvider',
    

    上面是我的应用类。你必须添加你的库类。

    第二个原因是,您是否在代码中使用 db 而不是 DB?任何地方。 如果您已按照上述步骤操作,请在 cmd 中运行以下命令:

    composer update, then composer dump-autoload
    

    如果您需要任何帮助,请告诉我。我在 Laravel 4.2 中遇到了同样的错误,我通过这个步骤解决了。

    【讨论】:

    • 感谢您的回答,但是在对 Mongo Query 错误进行 rnd 之后。我发现在新版本 MongoDB 3.4 中需要在地理坐标搜索 API 调用之前对集合进行索引。所以 createIndex 是此查询的最终解决方案
    【解决方案2】:

    1]使用以下MongoQuery创建索引

    db.user.createIndex( { "location" : "2dsphere" } )
    

    2]使用以下命令确保索引已应用或未应用

    db.user.ensureIndex( { "location" : "2dsphere" } )
    

    3]在 MongoDB 控制台中检查以下 Mongo 查询。它正在工作

    db.user.find(
        {"location" : {
            "$nearSphere": {
                "$geometry": {
                    "type": "Point", "coordinates": [72.513723 , 23.041388] 
                },
            "$maxDistance": 8000,
            "$uniqueDocs": 1
            }
        }
    })
    

    经过两天的投资,我得到了这个解决方案,通过谷歌搜索和在 MongoDB 上执行的不同 rnd 步骤解决了这个错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-22
      • 2019-08-19
      • 2016-03-13
      • 2011-05-14
      • 1970-01-01
      相关资源
      最近更新 更多