我创建了一个自定义的专用CMS,其上有许多客户端,每个客户端都有自己的域名,网站,管理区域和数据库,但都位于同一台服务器上.
每当我得到一个新客户端时,我只需复制所有代码,在配置文件中更改3行,然后将所有样式/数据从数据库中取出,或者从他们自己的管理员发布到服务器的上载中取出区域.
到目前为止听起来很棒吧?
好吧,当我最近决定更新所有客户端站点时,这成了一个主要的痛苦.显然我必须在每次安装时更改代码.对于重大更新,这很好,但是对于频繁的调整等,重复上传的工作变得非常烦人....我希望有一天会有几十个或几百个客户端,所以代码最终必须集中化,以便在一个地方更改它在任何地方更新它...如何做到这一点?
Chr*_*isM 17
一个简单的解决方案是将源代码放在一个子目录中,除了文件之外,应该为每个客户端更改这些文件(例如,配置文件).
然后,您可以将此源代码目录放在某处,只需创建符号链接即可.
例如,您的目录结构可能如下所示:
/var/www/src/index.php
/var/www/src/more_source.php
/var/www/clients/client_a/settings.php
/var/www/clients/client_a/src -> ../../src/
/var/www/clients/client_b/settings.php
/var/www/clients/client_b/src -> ../../src/
Run Code Online (Sandbox Code Playgroud)
如果你选择了这个结构,你将需要改变的唯一的事情,将是包括的settings.php(例如,从require "settings.php"到require "../settings.php").