从外部服务器更新php应用程序


Updating php app from external server

我正在KohanaPHP框架中编写一个小应用程序。假设这个应用程序将来会有一些更新。例如,当前版本为v1.0。

什么是最好和最优化的方式:

  • 检查是否有新版本
  • 如果是,则从远程服务器更新当前服务器中的文件

到目前为止,我使用cURL在远程文件中获取信息表单version.txt文件,然后将其与应用程序引擎中的常量变量进行比较。然后我用https://github.com/kanema/kohana-ftp与服务器连接并更新应用程序的模块。

有没有更好的解决方案,尤其是在检查更新方面(使用version.txt有点烦人,需要一些时间)。

  1. 使用一些版本控制系统,如Git
  2. 使用一些更新脚本,这些脚本检查当前版本(生产版本)是否与远程存储库中的版本(最新版本,在您进行更改时更新的版本)相同,如果版本不同,则更新生产版本
  3. 从第2点调用脚本。例如使用cron

这将是最快的(基于Git内部机制)解决方案,非常可靠(您将使用版本控制系统),并且非常安全(您不会覆盖用户上传的文件)。

互联网上有一些这样的工具的例子。

还有一些使用cron jobs从Git存储库中提取最近更改的例子,点击这里:stackoverflow.com/questions/4441140/Git-auto-pull-using-cronjob

或者,只有当存储库中的版本被推送到存储库的人更改时,您才能使用所谓的"服务挂钩"来调用更新脚本(例如,GitHub中提供了该功能)。

这取决于您的平台。我个人使用/支持Linux,并使用软件包(例如,deb用于基于Debian的系统)捆绑、安装和更新我的应用程序/服务。