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

标签 php linux git web-deployment

我有许多位于不同服务器(云中的 LAMP 服务器)中的 PHP 网站。它们是来自不同客户的不同网站,但我在所有网站中都使用了一些通用代码。我将所有这些通用代码放在一个 Common_Code_Folder 中,我将其用作包含类、 Controller 、函数等的库。

结构是这样的:

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 存储库。
  • 使用脚本部署新版本 pull 新代码(git pull)
  • 这个脚本可以按需手动执行,也可以通过cron执行

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

  • 检查数据库变化
  • 应用数据库迁移

即使数据库发生变化,您的自动部署过程也会安全运行。

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

关于php - 如何跨多个网站/服务器共享 PHP 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34566593/

相关文章:

通过 SAML SSO 进行 Git CLI 验证

ruby-on-rails - 构建期间 dockerized rails 应用程序中的私有(private) Github 存储库

php - 音频文件目录列表,需要音频播放器解决方案

php - 如何在 Symfony 2 中实现跨多个表单的单个 CSRF token ?

php - 帮忙设计简单的2表数据库吗?

linux - Bash 脚本生成空文件

php - 如何使用 PHP 一次将数据插入两个 mysql 表中

json - CentOS监控磁盘使用情况使用 'du'输出JSON

linux - 在 Windows 上使用 Mingw 时出错

linux - 服务器上带有存储库查看器的独立 git 二进制文件