我们目前正在将项目迁移到Symfony2。该网站使用多个域名:
- `domain.com` - 主要网站 - `help.domain.com` - FAQ - `profile.domain.com` - 用户控制面板
等等
我的想法是创建一个名为“sites”的目录,并为每个子域创建自己的目录,在其中拥有框架文件和供应商目录,该目录中包含指向根目录`vendor/*` 中目录的符号链接(除了composer和autoload.php文件之外的每个目录)。
因此,结构看起来像这样:
- `domain.com` - 主要网站 - `help.domain.com` - FAQ - `profile.domain.com` - 用户控制面板
等等
我的想法是创建一个名为“sites”的目录,并为每个子域创建自己的目录,在其中拥有框架文件和供应商目录,该目录中包含指向根目录`vendor/*` 中目录的符号链接(除了composer和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/
我需要这样做,因为每个域名的autoload必须略有不同(我们将在vendor/Company中存储在不同域名之间共享的代码,而将在域目录的/src文件夹中存储每个域独特的代码)。
问题是现在我必须在每个目录中执行"composer install
",它会创建自己的composer.lock
文件,如果我稍后在任何一个目录中进行更新,库将被更新,但composer.lock
文件将不会同步,因此它每次都会重新安装。
有没有更好的方法来解决这个问题?(我考虑将composer仅放在根目录下,但我没有找到一种方法来为每个域名生成不同的autoload.php文件)。
vendor/composer/autoload_classmap.php
中创建文件。只需包含该文件,而不是vendor/autoload.php
即可。我们仍然需要vendor/autoload.php
吗? - Halil Özgür