Symfony3 不读取 Elastic Beanstalk 上的环境变量

Posted

技术标签:

【中文标题】Symfony3 不读取 Elastic Beanstalk 上的环境变量【英文标题】:Symfony3 does not read the environment variables on Elastic Beanstalk 【发布时间】:2016-09-08 00:53:50 【问题描述】:

在我的本地机器上一切正常。 printenv | grep SYMFONY 在我的本地机器上打印我这个

SYMFONY__DATABASE_HOST=127.0.0.1
SYMFONY__DATABASE_NAME=database
SYMFONY__DATABASE_PASSWORD=root
SYMFONY__DATABASE_PORT=3306
SYMFONY__DATABASE_USER=root

我的 config.yml 包含以下配置:

# Doctrine Configuration
doctrine:
    dbal:
        driver:   pdo_mysql
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"

在我的 ec2 机器上,printenv | grep SYMFONY 打印与上面相同。

但我收到以下错误消息

$ sudo bin/console doctrine:schema:update --force 

[Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException]
      You have requested a non-existent parameter "database_host".

编辑:哦和 phpinfo();也打印它们。不要介意双重主机和名称变量。我尝试了一些东西。

【问题讨论】:

在我的 EC2 实例中,我像这样使用它 database_driver: '%env.database.driver%' 等。也许它有帮助 【参考方案1】:

我做了一个干净的部署,终止了 ec2 实例并让弹性 beanstalk 重建 ec2 实例。

之后一切正常。也许我改变了一些 chmods。

【讨论】:

以上是关于Symfony3 不读取 Elastic Beanstalk 上的环境变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在aws elastic bean上安装redis和celery

将 MongoDB 与 AWS Elastic Bean 应用程序一起使用

尝试通过 Elastic Bean 在 AWS 上部署我的应用程序时出错

Behat 与 Symfony3 不兼容?

Symfony3 演示项目不起作用:PDO 异常找不到驱动程序(sqlite 案例)

分布式任务elastic-job分片获取fetchdata时候怎么控制数据不重复