【问题标题】:Enable ERP application to support multiple clients启用 ERP 应用程序以支持多个客户端
【发布时间】:2009-05-25 23:37:04
【问题描述】:

公司有一个ERP应用程序只支持一个公司使用一个数据库,如何让应用程序支持多个公司和多个数据库使用相同的代码?

应用程序是 PHP,数据库是 MySQL。

谢谢。

【问题讨论】:

    标签: php mysql erp


    【解决方案1】:

    这完全取决于您的应用程序架构和数据库结构,如果重构太难,解决方案可能是拥有多个 ERP 实例。此外,由于它是一个 ERP(包含公司的敏感信息),您可能必须将实例安装在不同的服务器上,以确保您的客户不会将财务信息与其他公司存储在同一台机器上.

    您可以虚拟化一台“大型”服务器。我建议您使用反向代理将来自多个子域的请求重定向到您的虚拟访客。您还可以拥有一个安装了 Apache、PHP 和 ERP 的虚拟化服务器模板,准备好安装在虚拟化主机中。当客户购买您的产品时,您只需安装并打开该虚拟访客并为客户提供访问权限。

    【讨论】:

    • 每个实例都应该有自己的数据库副本,从而实现数据库分离。但是你能详细说明一下这个想法吗?谢谢
    【解决方案2】:

    您可以在第二台服务器上重新安装它。如果你有执照当然可以这样做。它是什么 ERP 应用程序?


    编辑:

    对于我们的 ERP 产品,我使用一段 url 来区分数据库。例如

    http://myserver.com/company1/customers
    

    http://myserver.com/company2/customers
    

    文档中嵌入的所有 url 都是相对 url,因此它们位于同一公司内。

    【讨论】:

    • 嗨;请原谅我的英语,我忘了提及该应用程序是我们的,但该公司将其开发为独立产品(即交付并安装在客户端的服务器上),但我们希望将其作为托管服务呈现在我们的服务器上,例如 Highcamp。
    • 我在想,如果这是你公司的申请,你写的,而且你对这类事情有困难,你可能有一点问题,真的需要专家顾问来解决几个月,而不是 StackOverflow...
    • 嗯,我知道 Stackoverflow 不会重写整个事情,我只是在寻找有关如何实现这一点的想法。有什么想法吗?
    • @Darrel:所以你实际上是在服务器上创建子文件夹并将代码复制到那里,还是使用某种 URL 重写?
    • 我们有自己的基于 REST 的框架来处理 URL 路由。只有一组代码可以处理所有数据库。
    猜你喜欢
    • 2011-04-10
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 2021-06-01
    • 2016-04-21
    相关资源
    最近更新 更多