【问题标题】:Symfony 5 and Docker : missing RABBITMQ_DSN env varSymfony 5 和 Docker:缺少 RABBITMQ_DSN 环境变量
【发布时间】:2020-12-16 10:39:46
【问题描述】:

我刚刚设置了一个 RabbitMQ Docker 容器以与 Symfony 5.2 应用程序一起使用。但是我在使用 Docker 自动公开的环境变量时遇到了麻烦。

由于 RabbitMQ 容器已启动并运行良好,我正在等待 Symfony 自动设置的 RABBITMQ_DSN env var。

奇怪的行为是有时我确实得到了这个环境变量,但有时我没有(在同一个请求下!)。

在转储我的环境变量时,我也会得到相同的行为(我发誓这两个命令之间没有任何变化......):

$ APP_ENV=dev symfony var:export --multiline | grep 'RABBITMQ'
export RABBITMQ_DSN=amqp://guest:guest@127.0.0.1:49167
export RABBITMQ_HOST=127.0.0.1
export RABBITMQ_MANAGEMENT_HOST=127.0.0.1
export RABBITMQ_MANAGEMENT_IP=127.0.0.1
export RABBITMQ_MANAGEMENT_PORT=49168
export RABBITMQ_MANAGEMENT_SCHEME=http
export RABBITMQ_MANAGEMENT_SERVER=http://127.0.0.1:49168
export RABBITMQ_MANAGEMENT_URL=http://127.0.0.1:49168
export RABBITMQ_PASSWORD=guest
export RABBITMQ_PORT=49167
export RABBITMQ_SCHEME=amqp
export RABBITMQ_SERVER=amqp://127.0.0.1:49167
export RABBITMQ_URL=amqp://guest:guest@127.0.0.1:49167
export RABBITMQ_USER=guest
export RABBITMQ_USERNAME=guest

$ APP_ENV=dev symfony var:export --multiline | grep 'RABBITMQ'
export RABBITMQ_HOST=127.0.0.1
export RABBITMQ_IP=127.0.0.1
export RABBITMQ_PORT=49168

我尝试了几件事:

  • 将 Docker RabbitMQ 映像从 3.7 更新到 3.8
  • 清除 Symfony 缓存
  • 具有自动和手动端口映射(在 docker-compose.yaml 中)
  • 更新了我的所有依赖项

但我仍然遇到这个错误......我在 Windows 10 上运行这个应用程序。

有什么想法吗?

【问题讨论】:

    标签: php docker symfony rabbitmq environment-variables


    【解决方案1】:

    好的, 我找到了一种解决方法,方法是使用我在 .env 文件中明确设置的另一个环境变量。

    我不明白为什么这个 RABBITMQ_DSN env var 有时会丢失。

    这是解决方法。

    只需在.env 文件中设置一个新的环境变量:

    MESSENGER_TRANSPORT_DSN=amqp://guest:guest@127.0.0.1:49167
    

    并使用它来代替您的messenger.yml 文件中缺少的RABBITMQ_DSN

    framework:
        messenger:
            transports:
                async:
                    dsn: '%env(MESSENGER_TRANSPORT_DSN)%'
    

    【讨论】:

    • 您能说说您的解决方法是什么吗?在我正在从事的项目中,我们遇到了同样的问题。
    猜你喜欢
    • 2020-11-25
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    • 2021-04-29
    • 2021-09-03
    • 1970-01-01
    相关资源
    最近更新 更多