Зачем нужны файлы env и env.example в Laravel? - PullRequest
0 голосов
/ 29 августа 2018

Я новичок в Laravel и хочу простое объяснение файлов .env и .env.example, зачем они нам нужны и чем они отличаются.

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

Ответы [ 5 ]

0 голосов
/ 29 августа 2018

Начиная с версии Laravel 5.0, в вашей основной папке должен быть файл .env, который содержит различные настройки, одна строка - одна пара KEY = VALUE. И затем, в вашем коде проекта Laravel вы можете получить эти переменные окружения с помощью функции env(‘KEY’).

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

Теперь файл .env.example, напротив, включен в репозиторий - он используется в качестве примера файла, чтобы вы знали, какие пары KEY = VALUE вам нужны для вашего проекта. Чаще всего он используется для копирования его в файл .env и последующего изменения значений.

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

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

0 голосов
/ 29 августа 2018

В файле .env хранятся переменные конфигурации для вашего приложения, а .env.example - просто пример того, что может быть в файле .env! Вы можете легко переименовать .env.example в .env, чтобы начать.

Что такое переменные конфигурации? От Приложение с двенадцатью факторами

Конфигурация приложения - это все, что может варьироваться в зависимости от развертывания (подготовка, производство, среда разработки и т. Д.). Это включает в себя:

  • Дескрипторы ресурсов для базы данных, Memcached и других вспомогательных служб
  • Учетные данные для внешних служб, таких как Amazon S3 или Twitter
  • Значения для каждого развертывания, такие как каноническое имя хоста для развертывания

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

Я рекомендую вам прочитать ссылку выше для объяснения того, почему вы должны отделить конфигурацию от вашего приложения, а для информации, относящейся к Laravel, вы можете посмотреть здесь

0 голосов
/ 29 августа 2018

Файл .env.example является лишь примером файла .env. Это не используется приложением. Он служит основой для редактирования и переименования.

Файл .env содержит константы, специфичные для данного приложения в этих средах. Это означает, например, что если я хочу развернуть свое приложение в нескольких местах с одним и тем же кодом, мне просто нужно изменить некоторые параметры этого файла, чтобы они работали в каждой среде, и мы все настроены, никаких изменений кода не требуется.

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

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

Вы можете прочитать больше здесь: https://laravel.com/docs/5.6/configuration#environment-configuration

0 голосов
/ 29 августа 2018
Файл

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

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

И из-за этого этот файл не может быть версионным, поэтому .env.example - это файл, который имеет все настройки констант, которые есть у .env , но без значений, и только этот версионный. .env.example служит руководством для создания файла .env с необходимой информацией, необходимой для запуска приложения.

Поскольку вы работаете с Laravel, вы можете найти больше информации здесь: environment-configuration

0 голосов
/ 29 августа 2018

.env файл содержит различные настройки, одна строка - одна пара KEY = VALUE. И затем, в вашем коде проекта Laravel вы можете получить эти переменные окружения с помощью функции env («KEY»).

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

Теперь файл .env.example, напротив, включен в репозиторий - он используется в качестве примера файла, чтобы вы знали, какие пары KEY = VALUE нужны для вашего проекта. Чаще всего он используется для копирования его в файл .env, а затем для изменения значений.

Вы также можете прочитать об этом в официальной документации Laravel.

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