in symfony, Uncategorized

Advanced Symfony 2 environment variables

In this article I’m going to share a trick that I use to achieve a similar result of the New in Symfony 3.4: Advanced environment variables for Symfony 2.x.

The new advanced environment variables is a great improvement on the developer experience using symfony. It is the way to go in the future and it expands what you can do using YML thanks to Symfony Expressions in the config and parameter files. Although you could do exactly the same in Symfony 2 with a small little trick.

Advanced Symfony 2 environment variables example

This is the real case scenario:

  • Manual testing environment on AWS Beanstalk
  • Code ready to go to production with different environment variables
  • Mailcatcher for emails
  • AWS Beanstalk can’t have empty vars, it just remove them from the admin panel
  • Swiftmailer does not accept empty string as null encryption, null username and null password


The new Symfony 3.4 feature that allows to use advanced environment variables is really convenient. It will be more readable, easy to follow and they have a great example on how to store secrets.

For the ones you have not had time to migrate to Symfony 3 you can use Symfony 2 advanced environment variables with a simple and plain PHP file.

Please add your tricks and questions on the comments.

Write a Comment