【问题标题】:Symfony "Invalid env" - only "word" characters are allowedSymfony “Invalid env” - 只允许使用“word”字符
【发布时间】:2017-11-11 17:25:57
【问题描述】:

我目前正在尝试启动并运行一个 Symfony 项目。问题是当我尝试设置我不断得到的数据库时

[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException] 
Invalid env(resolve:DATABASE_URL) name: only "word" characters are allowed.

我编辑了.env 文件以获得我的本地数据库凭据。 DATABASE_URL 变量如下所示:

DATABASE_URL="mysql://user:pass@192.168.10.10:3306/db_name?charset=utf8mb4&serverVersion=5.7"

当然,user、pass 和 db_name 是凭据。

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: php symfony


    【解决方案1】:

    我在doctrine recipe 中发现了一些东西。这可能是因为您使用 symfony 3.3 和 symfony/flex,所以您需要删除 resolve 关键字,即。在您的config/packages/doctrine.yaml 中:

    doctrine:
        dbal:
            url: '%env(DATABASE_URL)%'
    

    查看news了解更多信息

    【讨论】:

    • 我删除了 resolve: 关键字,就像 cmets 说的那样。但现在我得到:未找到环境变量:“DATABASE_URL”。这很奇怪,因为我确实在 .env 文件中定义了它。
    • 确保您在dev 环境中运行您的应用程序。 prod 中默认不加载 Dotenv 组件。查看您的 bin/consolepublic/index.php 文件以及如何在其中使用 dotenv 组件。
    • 在 Homestead 虚拟机上运行它。如何管理环境?
    • 我不知道,但在 CLI 中你可以使用 --env=dev
    • 我曾经因为 services.yaml 中的拼写错误而收到此错误:'%env(ROUTER_HOST))%' - 注意额外的 ")"。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多