Laravel 5.7 - Как установить все переменные внутри .env, чтобы они указывали на тестовую среду при запуске системы? - PullRequest
0 голосов
/ 22 марта 2019

У меня есть 2 ведра Prod и Dev.Внутри .env у меня есть S3_PROD и S3_DEV.Я хочу, чтобы моя система указывала на S3_DEV, когда я нахожусь в моей среде разработки.

Учитывая, что у меня может быть 10 переменных для указания на конкретную конечную точку в зависимости от нашей среды, что должно быть лучшим подходом для установки этого?

1 Ответ

0 голосов
/ 22 марта 2019

Ваш файл .env не должен отслеживаться какой бы то ни было системой развертывания / управления версиями. В идеале ваш файл среды разработки должен содержать соответствующие ключи, а в вашей конфигурации вы просто должны вызвать, например, env('S3_REGION').

Но ради плохих идей предположим, что у вас есть почти идентичные файлы .env в вашей среде разработки и в вашей рабочей среде, измените APP_ENV=local на dev или prod, а затем оператор if в вашей конфигурации.

Я настоятельно рекомендую вам следовать документации .

Ваш файл .env не должен быть привязан к источнику вашего приложения контроль, поскольку каждый разработчик / сервер, использующий ваше приложение, может требуется другая конфигурация среды. Кроме того, это будет быть угрозой безопасности в случае, если злоумышленник получает доступ к вашему репозиторий управления исходным кодом, поскольку любые конфиденциальные учетные данные будут получать подвергаются.

Если вы разрабатываете с командой, вы можете продолжить файл .env.example с вашей заявкой. Поместив заполнитель значения в примере файла конфигурации, другие разработчики на вашем Команда может четко видеть, какие переменные среды необходимы для запуска ваше приложение. Вы также можете создать файл .env.testing. Этот файл переопределит файл .env при выполнении тестов PHPUnit или выполнении Команды Artisan с опцией --env = testing.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...