Laravel: используйте разные env-файлы для разных доменов для мультитенантного приложения - PullRequest
0 голосов
/ 09 июня 2019

Я пытаюсь создать мультитенантное приложение.

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

  • sites1.test
  • sites2.test

Самый простой способ сделать это в Laravel - это иметь 2 разныхфайлы env: .env.site1 и .env.site2

Это означает, что для команд кустарного производства я могу просто сделать:

  • artisan migrate --env=site1 для команд сайта 1
  • artisan migrate --env=site2 для команд сайта 2

У меня проблема с HTTP-запросами.Как я могу настроить laravel так, чтобы он:

  • Использовал .env.site1, когда на site1.test
  • Использует .env.site2, когда на site.test

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

Кроме того, существует ли потенциально лучший способ сделать многопользовательский режим.

1 Ответ

0 голосов
/ 09 июня 2019

Предположим, вы хотите иметь одну постановочную среду и одну постановку. Поэтому создайте один файл .env.staging и один файл .env.production. Затем удалите все строки в файле .env, кроме APP_ENV. Установите этот ключ для постановки или производства:

APP_ENV=production

Затем в вашем .env.production измените любые строки, которые вы хотите, а затем перейдите к .env.staging и внесите различные изменения, которые соответствуют вашим потребностям.

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