将代码分发到多个位置

时间:2015-03-11 19:45:26

标签: php batch-file web-applications windows-server-2008

一点理论问题导致可能更实际。我目前在codeigniter框架中使用PHP开发了一个Web应用程序。

该应用程序现在由5个独立客户使用,每个客户都有自己的特定修改,扩展了我创建的基本/核心代码。我现在当时每当我对开发版本进行任何更新时,我都需要精心地将每个单独的文件/目录复制到每个客户。

我想了解如何最好地自动执行此过程。场景是应用程序在Windows服务器上运行,php 5.4连接到mysql数据库。所有域/应用程序(包括dev版本)都在同一台服务器上并使用相同的IP地址。

我认为批处理文件是最好的方法是否正确,如果是这样,有人可以指出我正确的方向来创建批处理文件。我所拥有的其他想法可能是每个网站上的下载按钮,它开始更新自己的过程,但我再也不确定如何解决这个问题。

非常感谢任何输入。

由于

1 个答案:

答案 0 :(得分:1)

这实际上取决于您对各个客户的修改有多广泛。 90%是共享代码吗? 50%?

如果90%的代码是公共代码: 我会将我的核心代码库放在一个文件夹中,然后只使用自定义文件进行修改。

在核心代码中,您需要一种方法来区分客户。让我们假设你有一个' clientid'这是客户独有的。

示例: 我们假设我们在核心代码中并且包含一个名为 user_admin.php 的文件,但是这个文件对于某些客户而言并不是全部

function custominclude($file,$clientid){
    $customfile='/custom/'.$clientid.'/'.$file;
    if(file_exists($customfile)){
        include ($customfile); 
    }
    else{
        include ($file); 
    }
}
custominclude('user_admin.php',$clientid);

根据您的评论进行编辑。

在Windows服务器上同步两个文件夹(或更多)。使用GoodSync http://www.goodsync.com/之类的实用程序。它允许您在同一台机器上或不同机器之间以单向/双向同步文件夹。它应该很容易处理你的任务。您可以将其设置为按计划进行,也可以手动告诉您同步。