Как использовать Symfony окружения Dev и Prod - PullRequest
1 голос
/ 09 марта 2019

Это может показаться глупым вопросом, мне нужно, чтобы мое приложение Symfony 3 работало иначе, чем на моей локальной машине.Я знаю, что существует точка входа для каждого env, app.php и app_dev.php

Я не хочу изменять файл web / .htaccess приложения, потому что за ним следует git, я ожидал 'env'var или что-то похожее в app / config.yml, но есть также config.yml и config_dev.yml, так что это должно быть другое место, где я могу определить, работаю ли я с prod или dev env.

В документации сказано, что мне нужно настроить сервер apache для использования либо web / app.php, либо web / app_dev.php, и это мой вопрос.Я использую Apache 2.4, и я попытался использовать следующую директиву:

<VirtualHost *:8000>
    <directory>
        ...
        DirectoryIndex app_dev.php
    </directory>
</VirtualHost>

Я перезапустил Apache, но когда я набираю localhost:8000 в своем браузере, он продолжает использовать app.php по умолчанию, мне нужно моесервер apache для использования app_dev.php, я не хочу использовать встроенный сервер, потому что через некоторое время он глючит.

Может кто-нибудь помочь мне с настройкой apache для использования dev env?

1 Ответ

1 голос
/ 10 марта 2019

Я думаю, что у вас есть следующие проблемы: независимо от того, какой DirectoryIndex вы определили, сервер также выбирает некоторые настройки из .htaccess.Может ли быть так, что у вас есть еще одна ссылка на app.php, например, RewriteRule ^(.*)$ app.php [QSA,L]?

Тогда вы можете сделать следующее: переместить эту точную настройку из .htaccess в конфигурацию вашего сервера, как локально, так ина производственном сервере.Тогда вы можете оставить все остальные настройки независимыми от вашей среды.

Если это пока не помогает, пожалуйста, поделитесь контентом .htaccess.

Другим способом решения может быть использование последнихВерсия Symfony и поместите все, что может измениться между средами в файле .env.Не ставьте его под контроль версий, так как этот файл может содержать конфиденциальную информацию.Затем взгляните на текущие основы: у вас больше нет app.php и app_dev.php, так как изменения были лишь незначительными.Используется общий index.php, который считывает все текущие настройки с .env

...