Я заметил при тестировании с тестовыми проектами на удаленном сервере, что мне нужно было создать файл .env.
В моем не тестовом проекте я планирую развернуть. У меня отсутствует файл .env, но все по-прежнему работает.
Файл .env не особенно требуется Laravel, чтобы функционировать, так как файлы конфигурации используют запасные варианты, или вы можете вставить свои значения конфигурации непосредственно в файлы конфигурации. Вы можете заметить, что настройки имеют предположения, основанные на функциях, например: 'default' => env('CACHE_DRIVER', 'file')
, Функция env () читает из файла .env и, если значение отсутствует, имеет значение по умолчанию (аргумент 2), которое занимает свое место, когда оно не установлено.
Тем не менее: это (значительно) плохая практика. По умолчанию файл .env игнорируется git, и после установки вы, возможно, заметили, что Laravel генерирует для вас ключ приложения. Это уникально для установки (но может быть восстановлено в любое время при использовании php artisan key:generate
).
Laravel artisan имеет удобную функцию, которая позволяет вам кэшировать ваши значения конфигурации в один массивный файл, минуя необходимость читать / перечитывать каждый отдельный файл конфигурации в каталоге config.
php artisan config:cache
Это значительно сокращает время анализа файла конфигурации и, следовательно, помогает ускорить время загрузки приложения. Возможность изменять все ваши настройки через .env
файл, а затем выполнение вышеуказанной команды значительно быстрее, чем редактирование каждого из файлов настроек.
TLDR; если вы работаете с другими членами команды или должны развертываться в других средах, используйте .env
файл. Если нет, сделайте это для удобства. В любом случае, это не обязательно, но избавляет от головной боли.
РЕДАКТИРОВАТЬ
Laravel requires an application key in order to use certain functionality
Я подумал, что было бы неплохо подкрепить мой ответ исследованиями: https://laracasts.com/discuss/channels/general-discussion/app-key?page=1
Лучше хранить его в .env
файл. Если есть подозрение на нарушение безопасности, ключ приложения можно быстро восстановить.
Других решений пока нет …