gpt4 book ai didi

php - 单个站点多个版本的单一代码库

转载 作者:行者123 更新时间:2023-11-30 01:21:15 25 4
gpt4 key购买 nike

我希望我已经正确地命名了这个问题,我将尝试解释我们正在努力实现的目标。

我们使用文件和目录模板构建了一个白标签 Web 应用程序。

我们将此网站授权给客户,他们可以在其系统版本上通过 CSS 拥有自己的 Logo 和自定义颜色样式。该网站对每个客户的工作方式完全相同。

每个站点/客户都有自己的数据库和 php 配置文件来确定其数据库名称和次要信息(地址、联系信息等)。

我们已经有大约 12 个客户,但我们发现的问题是我们必须为每个客户复制所有文件和目录 - 这使得进行小更新时非常困难,我们必须上传新网站 12 次。

为了在工作中添加另一个 Spanner ,我们为每个客户设置了自己的 URL,并使用 htaccess 将他们引导到我们的目录。

那么...有没有一种方法可以为所有 12 个客户使用一个版本的 Web 应用程序文件和目录,但如果他们访问 www.customer1.com,我们可以加载一个 configuration.php 文件和 logo/css www.customer2.com 等也一样吗?

它们都使用相同的模板文件,但 URL 决定加载哪个配置文件。

如果不清楚,我很抱歉,如果不清楚,我会尝试进一步详细说明。

谢谢

最佳答案

有几种可能的解决方案。

第一个解决方案:

我将使用所有站点都使用的共享目录,并在每个用户文件夹中仅保留一个配置文件。

然后,新自定义的部署脚本将为除自定义文件之外的所有内容创建符号链接(symbolic link)。您可能需要重构一些代码才能执行此操作,而无需在部署脚本中编写数百个符号链接(symbolic link)。

优点:

  • 每个用户都有一个单独的目录,其中仅包含用户自定义的代码
  • 每个客户的自定义都很容易,因为您只需断开符号链接(symbolic link)、复制代码并进行修改即可

缺点:

  • 分散式定制检查
<小时/>

第二种解决方案:

路由所有用户使用相同的代码库,并根据 URL(例如 customer1.mysite.com)设置一些配置变量。让您的网站根据该变量加载整个用户配置。

优点:

  • 对现有代码库几乎没有任何更改(取决于代码的编写方式)
  • 集中进行所有客户定制检查。

缺点:

  • 为用户定制的代码将难以编写/维护

引用文献:

关于php - 单个站点多个版本的单一代码库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18505578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com