【问题标题】:Symfony2 environmental variablesSymfony2 环境变量
【发布时间】:2015-03-24 21:41:03
【问题描述】:

我正在尝试使用环境变量作为 Symfony2 中的参数。但是,当我运行 composer update 我得到:

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

变量“SYMFONY__COMPASS__BIN”在 shell 和 apache vhost 中都设置了。知道是什么原因造成的吗?

更新

似乎问题是 Elastic Beanstalk 特有的 - 不仅是 compass.bin,而且所有其他 env 变量都不可见(尽管已在容器中设置并通过 ssh 可见)。

【问题讨论】:

  • 引入环境变量后清除缓存了吗?
  • 你能把你的config.yml部分贴在哪里引用这个变量吗?
  • 当然,这里是:assetic: debug: "%kernel.debug%" use_controller: false filters: cssrewrite: ~ sass: ~ compass: bin: "%compass.bin%" apply_to: " \.scss$"
  • 如何为 CLI 部署和设置环境变量?
  • 在运行 EB deploy 时,您是否可以验证变量是否可见?一个简单的作曲家钩子就可以了。

标签: symfony amazon-web-services amazon-elastic-beanstalk


【解决方案1】:

我确实通过禁用 composer install 钩子解决了这个问题。当供应商文件夹存在时它不会运行(我在这里找到了这个提示:http://ifdattic.com/how-to-deploy-symfony-application-to-aws-elasticbeanstalk/)。然后我简单地将我自己的命令添加到 .ebextensions,它使用环境变量运行 composer install。

【讨论】:

  • 我也在使用 Andrew Marcinkevičius 的帖子,它有一个很好的概述。我对作曲家有其他问题,但现在解决了。我按照他在我的供应商文件夹中的建议使用了 .gitkeep,其中没有其他内容。在部署过程中可能会出现很多问题!
猜你喜欢
  • 2013-03-02
  • 1970-01-01
  • 1970-01-01
  • 2014-09-30
  • 1970-01-01
  • 2020-12-07
  • 1970-01-01
相关资源
最近更新 更多