#php #apache #symfony
#php #apache #symfony
Вопрос:
Это может показаться глупым вопросом, мне нужно, чтобы мое приложение symfony 3 в рабочей среде вело себя иначе, чем на моем локальном компьютере. Я знаю, что для каждой среды есть точка входа, app.php и app_dev.php
Я не хочу изменять файл веб-приложения /.htaccess, потому что за ним следует git, я ожидал, что в app / config.yml будет ‘env’ var или что-то подобное, но есть также 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 для использования среды разработки?
Ответ №1:
Я думаю, у вас следующие проблемы: независимо от того, что DirectoryIndex
вы определяете, сервер также получает некоторые настройки из .htaccess
. Возможно ли, что у вас есть другая ссылка на app.php
там, например RewriteRule ^(.*)$ app.php [QSA,L]
?
Затем вы могли бы сделать следующее: переместить этот точный параметр из .htaccess
в конфигурацию вашего сервера, как локально, так и на рабочем сервере. Затем вы можете сохранить все остальные настройки независимыми от вашей среды.
Если это пока не помогло, пожалуйста, поделитесь содержанием .htaccess
.
Другим способом решения проблемы могло бы быть использование последней версии Symfony и помещение всего, что может измениться в разных средах, в .env
файл. Не ставьте его под контроль версий, так как этот файл может содержать конфиденциальную информацию. Тогда взгляните на текущие основы: у вас больше нет app.php
и app_dev.php
, поскольку изменения были незначительными. Используется общий index.php
, и он считывает все текущие настройки из .env
Комментарии:
1. Спасибо! Я скопировал конфигурацию symfonyapp /web /.htaccess на свой site.conf в /etc/apache2/sites-availables /, также изменив ‘app.php ‘to’app_dev.php ‘ и теперь это работает в среде разработки