Symfony 4.3 заставляет 'prod' работать в среде разработки - PullRequest
1 голос
/ 30 сентября 2019

У меня есть приложение, построенное на Symfony 4.3. Он работает как положено на локальной машине, и он загружает .env.local файл конфигурации.
Он также работает как положено на производственном сервере, и он загружает файл .env.

Но что-то не так насервер разработки.

Настройки сервера разработки

Мы устанавливаем переменную среды APP_ENV в значение dev.
Ниже выводится php bin/console about в среде разработки:

-------------------- ---------------------------------
  Kernel
 -------------------- ---------------------------------
  Type                 App\Kernel
  Environment          dev
  Debug                true
  Charset              UTF-8
  Cache directory      ./var/cache/dev (1.3 MiB)
  Log directory        ./var/log (138 KiB)

Если я использую функцию phpinfo() в начале файла /public/index.php, APP_ENV встречается только 1 раз - он находится в разделе Environment .

Ноесли я использую phpinfo() после загрузки config/bootstrap.php, в разделе PHP Variables появляется еще несколько вхождений, и все они содержат prod:

$_SERVER['APP_ENV'] prod
$_ENV['APP_ENV']    prod

^ этих 2 значений не былов начале файла /public/index.php, поэтому похоже, что Symfony добавляет их и устанавливает для них неправильное значение prod.

.env.dev файл содержит это:

###> symfony/framework-bundle ###
APP_ENV=dev

но похоже этот файлвообще не загружается и вместо него загружается .env.

Я сделал некоторую отладку, и похоже, что загружен неправильный файл env (и добавлены дополнительные переменные, показанные в phpinfo ()) вэта строка в файле config/bootstrap.php:

// load all the .env files
(new Dotenv(false))->loadEnv(dirname(__DIR__).'/.env');

Я что-то упустил? Я думал, что среда Symfony управляется только переменной среды APP_ENV. Но, похоже, я ошибаюсь?

EDIT : Просто чтобы прояснить ситуацию - при разработке я имею в виду удаленный сервер разработки (вместо этого его можно назвать промежуточным)не локальный.

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