2015-10-13 5 views
2

Как указано в документации, Laravel 5 использует систему cool под названием DotEnv. Это позволяет нам настраивать все виды переменных среды, которые будут доступны внутри проекта. Поскольку он может содержать ключи, его следует игнорировать в исходном коде.Как настроить Laravel для производственной среды?

Кроме того, поскольку его имя по умолчанию, каждая машина/разработчик должна иметь свой собственный файл .env.
Здесь возникает проблема: во-первых, это частный проект. Поэтому я действительно не против замораживания ключей в репозитории. Во-вторых, из других фреймворков (Symfony? Yii?), Я привык иметь отдельные настройки для сред prod/stg/dev. Но поскольку файл уникален, это невозможно. Наконец, я не хотел связываться с производственной машиной.

Каков наилучший способ установить эти вещи?

+0

Уточнение моей среды: Я использую Heroku. То, как мне удалось получить мои env vars, было использование консольных конфигурационных vars, но это далеко не желательно: каждый раз я добавляю что-то в .env. Мне тоже придется изменить его в Heroku? :( – igorsantos07

+0

большая часть разработчика добавляет файл '.env' в файл .gitignore', поэтому ваша конфигурация не будет передаваться никому через репозиторий. Чтобы справиться с этой конфигурацией, вы можете использовать прямой источник, похожий на ftp. –

+0

Вы прочитали мой весь вопрос , Safoor? – igorsantos07

ответ

0

Это типично, чтобы исключить файл .env из вашего репозитория, используя файл .gitignore, чтобы они могли быть настроены по-разному для разных сред.

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

После развертывания в будущем развертывания из вашего репозитория не будут разворачивать ваши файлы .env, и ваши среды будут иметь отдельные конфигурации.

+0

Вот что я подумал, но это подразумевает дополнительный шаг для развертывания - ручной! И нет места для хранения эти настройки, если вы не создали его. Наконец, это касается того, что я сказал ранее: всякий раз, когда мне нужно внести изменения в этот файл, мне придется не забудьте загрузить изменения вручную на мой сервер. – igorsantos07

+0

Он создает ручной шаг, но это часть настройки среды. Как только я настраиваю хостинг для своих промежуточных/тестовых сред, я просто развертываю все файлы, а затем создаю файл .env. Мне никогда не придется d o это снова. Я считаю это частью настройки хостинга. – AJReading

+0

Да, вам нужно будет вручную изменить эти параметры, но поскольку они являются специфичными для среды, они обычно не меняются после настройки. Какие изменения/дополнения вы ожидаете от вас? Если вы меняете их часто, мне любопытно узнать, что вы можете хранить в них. – AJReading

Смежные вопросы