在 Symfony Monolog 中使用 MongoDB 导致错误

Using MongoDB in Symfony Monolog Causes Error

我得到的错误如下所示:


你应该知道的一些信息:

  1. 我正在使用 Symfony 5

  2. 我可以使用 MongoDB Compass 连接到 mongo 数据库,并在终端中使用 mongo 命令

  3. 我安装的包如下:

    • "mongodb/mongodb": "^1.6"
    • "monolog/monolog": "^2.0"
    • "symfony/monolog-bundle": "^3.5"
  4. 我的配置文件monolog.yaml(config/packages/dev/monolog.yaml)是这样的:

monolog:
    handlers:
        mongo:
            type: mongo
            mongo:
                host: localhost

谢谢。

我用 brew 安装了 mongodb。我发现 MongoDB\Client class 没有被识别。然后我发现我们可以手动安装mongo驱动程序。

  1. 我按照这里的步骤操作:https://www.php.net/manual/en/mongodb.installation.manual.php

  2. 我把我的monolog配置文件改成了monolog.yaml

monolog:
  handlers:
    mongodb:
      type: mongo
      mongo:
        id: mongolog
  1. 我将 MongoDB\Client 作为服务添加到服务配置文件中 services.yaml
services:
    ...
    mongolog:
        class: MongoDB\Client

经过上述操作,成功了。