如何跨多个网站/服务器共享PHP代码?

时间:2016-01-02 13:49:41

标签: php linux git web-deployment

我有很多位于不同服务器的PHP网站(云端的LAMP服务器)。它们是来自不同客户的不同网站,但我在所有客户端都使用了一些通用代码。所有这些常见代码都放在Common_Code_Folder中,我用它作为包含类,控制器,函数等的库。

结构是这样的:

Server 1
> Common_Code_Folder
> Root_Folder
    > Code Website 1

Server 2
> Common_Code_Folder
> Root_Folder
    > Code Website 2

Server 3
> Common_Code_Folder
> Root_Folder
    > Code Website 3

等...

当我更改Common_Code文件夹中的任何内容时,我正在寻找一种更智能的解决方案来部署它。

我现在做的是什么:

当我更改Common_Code文件夹中的任何文件时,我需要在FTP中连接所有网站,并上传所有网站的common_code文件夹。如果我有15个网站,我需要做15次!

有没有办法自动化?也许是GIT?也许是部署代码?

1 个答案:

答案 0 :(得分:1)

要同步您的代码,我建议:

  • 将您的代码放入Common_Code_Folder到GIT存储库中。
  • 使用脚本部署新版本拉新代码(git pull
  • 此脚本可以根据需要或通过cron
  • 手动执行

如果您的代码可以访问数据库,那么脚本(例如PHP脚本)也应该

  • 检查数据库更改
  • 应用数据库迁移

然后,即使数据库发生更改,您的自动部署过程也会安全运行。

由于此公共代码是您自定义PHP代码的库,因此您也可以通过composer更新它。然后,您的公共代码将安装在目录vendor中。这是一种常见的做法,例如在Yii2框架中。