php在线更新解决方案

目前的需求场景如下:

我开发一个扩展,运行在各个开源的cms系统,比如wordpress,discuz等等。

现在假如一个用户安装使用我们的产品,我们这边发新版本,提示用户更新,用户点一个按钮,然后瞬间升级到新版本了。用户表示很满意。

用户是满意了,但是我们这边要完成这个动作,我们必须为每个开源cms开发自动升级系统。这个系统我开发过,对比版本啊,下载文件啊,什么的,感觉还是挺麻烦的,单个cms还可以,但是以后扩展到很多个cms,我们都要针对这套cms开发这个东西,那工作量就十分巨大了。所以,我现在希望开发一套公用的机制,能应用到所有的cms系统里面,有什么好的方法吗?

--------------------------

我现在想到了一个方法。首先实现这个功能的难点在于,一个php文件不可能自己替换自己。也就是这个运行的php文件不可能把自己删除或者修改自己的源码。

所以,必须有个文件是充当这个修改别人的角色。他自己的东西不动,他的存在就是为了改变别人。

比如这个扩展下面有a、b、c三个文件。当用户点击升级,发送一个ajax请求,直接访问运行c文件,c文件是独立运行的,不依赖其他文件而存在。这样,他可以对a、b这些文件就行修改、删除等等,也就达到了自动更新的目的,而所有的cms扩展,我只要在每个目录下面放一个文件c,那就好了,这个工作量是不是成倍的减少了?

这个方案可行吗?

查看回复