【问题标题】:Laravel-MongoDB "Class db does not exist" errorLaravel-MongoDB“类数据库不存在”错误
【发布时间】:2013-12-10 18:41:16
【问题描述】:

我正在尝试安装 jenssegers Laravel-MongoDB 包。 (https://github.com/jenssegers/Laravel-MongoDB)

当我尝试composer update 时出现以下错误:

"error":{"type:"ReflectionException","message":"Classs db does not exist","file":"C:\\wamp\\www\\projectname\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php","line":308}} Script php artisan clear-compiled handling the post-update-cmd event returned with an error

我的composer.json 文件如下所示:

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",

    "require": {
        "laravel/framework": "4.0.*",
        "jenssegers/mongodb": "*"       
    },
    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ]
    },
    "config": {
        "preferred-install": "dist"
    },
    "minimum-stability": "dev"
}

有什么建议可以解决这个问题吗?

【问题讨论】:

  • 你的 composer.json 是什么样的?
  • 我添加了 composer.json 文件的内容。 @NathanLoding
  • 你尝试过自我更新作曲家吗?
  • 我试过了,但没有任何改变。
  • 您是否在代码中使用db 而不是DB?使用大写的DB。另外,请检查是否需要使用 \DB 而不是 DB,这可能是因为尝试在另一个非全局命名空间中使用 DB 外观。

标签: php laravel laravel-4 jenssegers-mongodb


【解决方案1】:

喜欢这个

    'Illuminate\Validation\ValidationServiceProvider',
    'Illuminate\View\ViewServiceProvider',
    'Illuminate\Workbench\WorkbenchServiceProvider',

    'Jenssegers\Mongodb\MongodbServiceProvider',

【讨论】:

    【解决方案2】:

    您是否在代码中使用 db 而不是 DB?使用大写的数据库。此外,请检查是否需要使用 \DB 而不是 DB,这可能是由于尝试在另一个非全局命名空间中使用 DB 外观。

    【讨论】:

      【解决方案3】:

      您只需执行以下命令即可成功安装。它对我有用。

      要安装 MongoDB,请遵循

      ->sudo -s ->apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

      ->apt-get 更新 ->apt-get -y 安装 mongodb-org

      ->grep -q "extension=mongo.so" /etc/php5/apache2/php.ini || echo "extension=mongo.so" >> /etc/php5/apache2/php.ini

      ->grep -q "extension=mongo.so" /etc/php5/cli/php.ini || echo "extension=mongo.so" >> /etc/php5/cli/php.ini && pecl install mongo

      ->echo "extension=mongo.so" >> /etc/php5/cli/php.ini

      ->服务 apache2 重启

      然后移动到laravel目录并运行以下命令

      ->composer 需要 jenssegers/mongodb

      然后关注this页面。

      【讨论】:

        【解决方案4】:

        你必须安装 MongoDB 你可以在http://docs.mongodb.org/manual/installation找到安装说明

        然后安装 MongoDB PHP 驱动程序。你可以在http://php.net/manual/en/mongo.installation.php找到安装说明

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-09-17
          • 1970-01-01
          • 2019-05-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-10-07
          • 1970-01-01
          相关资源
          最近更新 更多