Laravel 5 Как перейти из режима производства

Когда я запускаю $ php artisan env я получаю;

Current application environment: production

Как я могу изменить это на разработку или что-то подобное? Таким образом, я могу видеть ошибки. Я прочитал много документации, но новичку совсем нелегко понять. На самом деле у меня нет конфигурации сервера.

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

Ответы

Ответ 1

Laravel 5 получает связанные с окружающей .env переменные из файла .env расположенного в корне вашего проекта. Вам просто нужно установить APP_ENV на то, что вы хотите, например:

APP_ENV=development

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

APP_DEBUG=true

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

Ответ 2

Laravel 5 использует файл .env для настройки вашего приложения. .env не должно быть зафиксировано в вашем репозитории, например, github или bitbucket. В вашей локальной среде ваш .env будет выглядеть следующим образом:

# .env
APP_ENV=local

Для вашего производственного сервера у вас может быть следующая конфигурация:

# .env
APP_ENV=production

Ответ 3

Не забудьте запустить команду php artisan config:clear после внесения изменений в файл.env. Сделано это снова php artisan env, которое вернет правильную версию.

Ответ 4

То, что вы могли бы также рассмотреть, - это открытый метод Application->loadEnvironmentFrom($file)

Мне нужно было одно приложение для работы на нескольких поддоменах. Итак, в bootstrap/app.php я добавил что-то вроде:

$envFile = '.env';
// change $envFile conditionally here
$app->loadEnvironmentFrom($envFile);

Ответ 5

В Laravel среда по умолчанию - это всегда производство.

Что вам нужно сделать, так это указать правильное имя хоста в bootstrap/start.php для ваших bootstrap/start.php например:

/*
|--------------------------------------------------------------------------
| Detect The Application Environment
|--------------------------------------------------------------------------
|
| Laravel takes a dead simple approach to your application environments
| so you can just specify a machine name for the host that matches a
| given environment, then we will automatically detect it for you.
|
*/

$env = $app->detectEnvironment(array(
    'local' => array('homestead'),
    'profile_1' => array('hostname_for_profile_1')
));