Answers:
由于多站点设置依赖于相同的代码库,因此有些棘手。在这种情况下,您可以使用多站点设置,但是请记住,在中升级模块时sites/all/modules
,它将影响所有站点(除非在中被覆盖sites/$SITENAME/modules
)。
这会导致潜在的问题,其中您的一个站点依赖于N版本的模块,而您想在另一个站点上使用N + 1。有问题的模块可能没有升级路径,或者它可能在版本之间进行了大幅度的更改(考虑到Drupal朝着主要版本的发展,这并不像您想的那样罕见)。
此外,如果在模块升级期间需要对数据库进行重要更改,您会发现需要同时删除多个站点以确保运行update.php
。
因此,对于大多数用例而言,多站点并不是要走的路。除非您确实有足够的空间,或者您有一些奇怪的托管限制来阻止将每个站点的域映射到单独的文件夹,否则最好维护单独的代码库,并使用Drush和版本控制之类的工具来加速代码部署。
多站点的典型用例是在您部署大量极为相似的站点时,而不是将其用作限制性主机的解决方法。您可能正在运行托管服务,或者正在为公司构建大量微型站点,或者拥有什么。在这种情况下,您可以滚动自己的多站点设置,但是您还应该考虑使用Aegir,它可以自动运行抽象许多运行此类设置的麻烦。
将新站点添加到多站点设置非常简单:在sites
,编辑sites/sites.php
(仅Drupal 7)下创建一个新文件夹,复制sites/default/default.settings.php
到settings.php
该新文件夹中,然后在浏览器中访问该站点。Drupal应该开始安装过程并使用新文件夹。您的新站点将可以访问sites/all/modules
现有站点下的所有模块。
git clone git@my.repository.com:/base.git newsite
即可获得一个干净的环境。