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')
));