Список типов сред Laravel

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

Другое дело, что я считаю, что объявляю одну настраиваемую среду, она вызовет какое-то неожиданное поведение ?.

Спасибо!

Это не вызовет неожиданного поведения. Также часто бывает «постановка», и у вас может быть больше.

DevK 09.03.2018 23:23

ты нашел решение?

Adam Kozlowski 10.03.2018 12:18

@Patricus - это тот, который я искал!

Edgar Cardona 15.03.2018 00:07
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
9
3
2 521
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете изменить производство. Или локально, изменив значение APP_DEBUGER: TRUE / FALSE Ложь означает производство. Истинный означает местный.

Вы можете добавить столько переменных среды, сколько захотите, это не вызовет никаких проблем. Среда в основном для хранения учетных данных, которая используется приложением

Я думаю, что это тоже хороший ответ, но @patricus ответил на мой вопрос более конкретно. Но также приятно знать, что я могу добавить столько окружений, сколько захочу!

Edgar Cardona 15.03.2018 00:11
Ответ принят как подходящий

Единственные значения, которые что-то значат для фреймворка, - это production, testing и local.

Когда ваша среда - production, это просто добавляет немного дополнительной защиты к некоторым командам ремесленника (например, миграция, заполнение). В production эти команды должны запускаться с опцией --force.

Когда ваша среда - testing, это заставляет App::runningUnitTests() возвращать true. Это используется для отключения проверки токенов CSRF при запуске тестов phpunit. Файл phpunit.xml по умолчанию в Laravel устанавливает среду в testing.

Когда ваша среда - local, это заставляет App::isLocal() возвращать true. Эта функция фактически нигде не используется, если вы не использовали ее сами.

Как видите, вы можете установить любое значение среды, какое захотите, с минимальными последствиями. Если вы не используете production, будет немного проще случайно запустить вредоносную команду artisan, которая вам не нужна. Если вы не используете testing, у вас может возникнуть проблема с токенами CSRF в тестах функций phpunit. Если вы не используете local, это повлияет на вас, только если у вас уже есть собственный код, который зависит от среды local.

Еще одно замечание относительно среды: начиная с Laravel 5.2.13 вы можете иметь разные файлы .env для разных сред. Laravel сначала будет искать файл .env.{environment}, и, если он не существует, просто загрузит файл .env по умолчанию.

Так, например, вы можете создать файл .env.testing, который будет использоваться вашими тестами phpunit (поскольку они используют среду testing), и он может жить рядом с вашим файлом .env или .env.local, который используется при разработке или вручную. тестирование сайта.

Другие вопросы по теме