Как обрабатывать переменные среды в развернутом приложении SF4

Symfony представила новый компонент Dotenv с Symfony 3, который позволяет обрабатывать переменные среды в качестве параметров приложения. Это выглядит очень красиво, и лучше всего следовать в соответствии с манифест приложения 12factor.

Теперь, в отношении Symfony 4, они пошли дальше, продвигая эту практику, и поэтому я начал использовать переменные среды через файл .env.

И затем я захотел развернуть, и я понял, что файл .env не должен сохраняться на сервере, так как он будет таким же, как файл parameters.yml.

Итак, я немного искал документацию и нашел эту статью, в которой объясняется, что мы можем напрямую создавать переменные окружения через некоторые директивы веб-сервера. Это отлично подходит для кода, выполняемого через FPM, но он не говорит нам, как обрабатывать переменные среды при запуске команды через CLI, например.

Как я могу это достичь? Должен ли быть где-то эквивалент файла .env? Но тогда параметры будут дублироваться?

Я приветствую любую помощь;)

4
задан Geoffrey Brier 15 янв. '18 в 23:09
источник поделиться
1 ответ

Наконец, пришло время проверить ссылку Neodan и все там!

Итак, для тех из вас, кто интересуется, что делать, просто отредактируйте файл /etc/environment и добавьте переменные. Затем перезагрузите ваш сервер, и все ваши процессы будут иметь доступ к этим переменным.

Я предполагаю, что самое простое решение. Единственным недостатком этого метода является то, что эти переменные доступны любому процессу/пользователям, но это нормально, насколько мне известно.

Если вы хотите более безопасное решение, я полагаю, что вы могли бы, как я уже говорил, настроить ваш веб-сервер, чтобы добавить переменные среды и экспортировать их через файл .bash_profile или .bashrc, но будьте осторожны с тем, как вы запускаете свою оболочку (когда например, развертывание приложения). Сложнее поддерживать и подвергать ошибкам, которые я бы сказал.

N.B.: Вы также можете быть осторожны в том, как вы называете свои переменные для предотвращения конфликтов.

0
ответ дан Geoffrey Brier 17 янв. '18 в 15:30
источник поделиться

Другие вопросы по меткам