首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP MongoDB类“MongoDB\Collection”未找到

PHP MongoDB类“MongoDB\Collection”未找到
EN

Stack Overflow用户
提问于 2016-01-19 03:11:03
回答 1查看 2.1K关注 0票数 0

我使用的是http://docs.php.net/manual/en/mongodb.tutorial.library.php,当我使用它们提供的示例时,我得到了一个PHP Fatal error: Class 'MongoDB\Collection' not found。我使用的是composer,即使没有require mongodb\mongodb,如果打印$manager,也会使用$manager,这意味着它使用的是一个MongoDB,而不是我安装的那个MongoDB(因为它没有安装,至少是通过composer安装的)。

有没有办法找到那个MongoDB或者解决我的问题?

解决:因为我使用的是命令行,而不是Luracast/Restler,所以我需要在命令行期间在构造中使用autoload

代码语言:javascript
复制
namespace NES\Utils;

use MongoDB;

class Mongo
{

    private $manager;
    private $collection;
    public $result;

    function __construct($collection)
    {
        require_once "../../vendor/autoload.php";

        $this->manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
        $this->collection = new MongoDB\Collection($this->manager,"nestories.queue");
        $result = $this->collection->find( [ 'teste' => 'teste'] );

        print_r($result);
        }
}

问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-19 03:35:58

你在你的项目中使用了作曲自编吗?另外,您正在使用名称空间吗?使用Composer mongo包的另一种方法是安装Mongo:https://pecl.php.net/package/mongo的PECL扩展。

如果使用PECL扩展,则需要确保它安装在每个环境中。

您所遇到的错误很可能是因为您没有正确地包含供应商autoload.php文件。

代码语言:javascript
复制
<?php
require 'vendor/autoload.php';

当您尝试包含该文件时,错误日志输出会说什么?如果您使用的是xdebug,它会转储大量内容,但是通常情况下,包含文件‘/path/ to /不正确/ file /name.php’的错误应该会失败。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34867898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档