如何在多个 websites/servers 之间共享一个 PHP 代码?
How to share a PHP code across multiple websites/servers?
我有许多 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?也许是部署代码?
要同步您的代码,我建议:
- 将
Common_Code_Folder
中的代码放入 GIT 存储库。
- 使用脚本部署新版本拉取新代码(
git pull
)
- 这个脚本可以按需手动执行,也可以通过cron
如果您的代码可以访问数据库,脚本(例如 PHP 脚本)也应该
- 检查数据库更改
- 应用数据库迁移
那么即使数据库发生变化,您的自动部署过程也会安全运行。
由于此通用代码是您自定义 PHP 代码的一种库,您也可以通过 composer. Then your common code gets installed in the directory vendor
. This is a common practice, e.g. in Yii2 框架更新它。
我有许多 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?也许是部署代码?
要同步您的代码,我建议:
- 将
Common_Code_Folder
中的代码放入 GIT 存储库。 - 使用脚本部署新版本拉取新代码(
git pull
) - 这个脚本可以按需手动执行,也可以通过cron
如果您的代码可以访问数据库,脚本(例如 PHP 脚本)也应该
- 检查数据库更改
- 应用数据库迁移
那么即使数据库发生变化,您的自动部署过程也会安全运行。
由于此通用代码是您自定义 PHP 代码的一种库,您也可以通过 composer. Then your common code gets installed in the directory vendor
. This is a common practice, e.g. in Yii2 框架更新它。