我正在创建一个 php 应用程序-该应用程序将有 2 种类型的更新-
(a) 应用程序本身需要定期更新——管理应用程序的用户将收到更新通知,他可以初始化更新。
(b) 最终用户可以上传他自己的文件(如主题的自定义 css/js 文件),以便使用他的自定义设计来呈现 php 应用程序。用户还可以将自己的文本内容添加到应用程序中
现在,我想将此应用程序部署到云提供商——最好使用像 Amazon Elastic beanstalk、PHP Fog 或 Red Hat Open Shift 这样的 PaaS——我感到困惑的是以下几点——
(1)据我了解,要部署php app的初始版本,我首先要创建app的本地安装,正确配置,然后把这个配置好的版本部署到云提供商。但是参考上面的第 1 点,我是否必须在本地安装上初始化每个更新,然后将新版本上传到 PaaS 平台?
(2) 现在,参考用户对已经在云上运行的应用程序版本所做的更改,我如何确保他对应用程序所做的更改(无论他所做的任何更改是否存储在数据库或他上传的那些文件)是否完好无损?如果我只是上传我在本地拥有的版本(我通过定期更新进行了升级)——那么我会丢失工作人员在以前版本的云版本上所做的文件/数据库更改吗?如何保持这些文件+数据库更改完好无损?
我能想到的一件事是使用我想用于云版本的数据库,甚至用于应用程序的本地版本——这样即使用户进行了更改(我指的是对数据库)——那么即使我将新版本上传到云端——对数据库所做的更改仍然完好无损……现在我只需要考虑用户上传的文件——即使我在这方面是正确的,如何保存这些文件?如果我不正确,如何保留最终用户在数据库和文件中所做的更改?如何执行此操作并升级我的 php 应用程序。