В настоящее время мы переносим наш проект на symfony2. Сайт использует несколько доменов:
domain.com
- основной сайтhelp.domain.com
- часто задаваемые вопросыprofile.domain.com
- для пользовательского CP
и так далее
Чтобы заставить его работать, моя идея состоит в том, чтобы создать каталог «сайты» и для каждого субдомена создать свой собственный каталог, в котором есть файлы фреймворка + каталог поставщика с символическими ссылками на каталоги в корневом каталоге поставщика/* (каждый каталог, кроме композитора и файла autoload.php). Итак, структура выглядит примерно так:
root/
sites/
domain.com/
app/
src/
web/
vendor/
symlinks for each library to root vendor
composer.json
composer.lock
profile.domain.com/
app/
src/
web/
vendor/
symlinks for each library to root vendor
composer.json
composer.lock
vendor/
Мне нужно было сделать это так, потому что автозагрузка должна быть немного разной для каждого домена (мы храним код, который является общим для доменов в поставщике/компании, а код, уникальный для каждого домена, хранится в папке /src каталога домена) .
Проблема в том, что теперь я должен делать «composer install
» в каждом каталоге, и он создает свой собственный composer.lock
, и если я позже обновлю любой из каталогов, библиотеки будут обновлены, но файлы composer.lock
не будут синхронизированы, так что это будет просто переустанавливайте его каждый раз.
Есть ли лучший способ решить эту проблему? (Я думал поставить composer только в корневую директорию, но не нашел способа выгружать разные файлы autoload.php для каждого домена).