【问题标题】:How to set up database password for a Symfony project hosted at platform.sh?如何为 platform.sh 托管的 Symfony 项目设置数据库密码?
【发布时间】:2019-08-16 13:22:57
【问题描述】:

我有一个 Symfony 3 项目,它托管在 platform.sh 上。作为默认配置,它们为我提供了一个不受密码保护的数据库连接。我在文档中找到了以下几行,但无法理解它们的真正含义:

在任何一种情况下,您都需要服务凭证。为此,运行平台关系。这将提供类似于以下的输出:

database:
    -
        username: user
        scheme: mysql
        service: mysqldb
        ip: 120.0.80.37
        cluster: yuh7waly3uu6n-master-7rqtwti
        host: database.internal
        rel: mysql
        path: main
        query:
            is_master: true
        password: ''
        port: 3306

表示可以在主机database.internal,用户user,空密码访问数据库关系。路径键包含数据库名称 main。其他值可以忽略。

写在这里:https://docs.platform.sh/configuration/services.html#obtaining-service-credentials

这是否意味着如果我想更改这些凭据,我需要在 services.yaml 文件中输入正确的密码,或者这只是服务器尝试连接的一种方式。如何将此空密码更改为安全密码?能不能通过环境变量来解决,还是改变services.yaml的方法是正确的?

【问题讨论】:

  • 如果你有当前的 symfony(或自 3.4 起),那么默认使用 DATABASE_URL 环境变量。它在config/packages/doctrine.yaml(或app/config/...)中被引用
  • @Jakumi,不幸的是,platform.sh 通过自己的 *.yaml 文件覆盖了 app_parameters 中默认的 Symfony 配置。所以,这样不行……

标签: database symfony security platform


【解决方案1】:

在与支持人员进行了长时间的交谈后,我意识到在非高级帐户中不可能做到这一点。他们要求我更改类型,这是解决此问题的唯一方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 2021-03-14
    相关资源
    最近更新 更多