我正在构建一个蛋糕php-application,人们可以在托管上安装。同时,我仍在研究该应用程序,因此我希望人们能够仅通过单击更新按钮来更新它。从我在控制器中编写新代码的那一刻,制作新组件,...,我将其推到"源服务器",然后单击更新,然后他们也必须将所有更新的代码都放在其服务器上。我当时想编写一个执行git拉/获取的Exec(命令行),但并非每个托管都安装了git,所以这不是最好的解决方案。有人可以帮我吗?
预先感谢
aäron
您需要实现一个软件包系统:您的PHP脚本将下载包含来自源的所有代码的zip文件,将其解开,在临时文件夹中,读取告诉告诉的元数据文件您的脚本是哪个版本的插件或应用程序代码,将其与运行版本进行比较,可能会进行一些安全检查,例如校验和,或者您想实现该签名检查。检查成功后,您必须用包装中的文件替换现有文件。
,如果您保留上一个版本的邮政编码,您甚至可以提供回滚的选项。不要忘记您的更新代码也需要一种启动数据库迁移的方法。我会开发一个完成所有这些的"软件包"或"插件"插件。事件系统可用于触发事件时,安装了/deStall。
WordPress这样做,您可能想看看它的作用,但我不建议您使用任何狡猾的WordPress代码,只需使用该概念即可。
像Joomla一样,WordPress您可以创建可以检查当前版本并检查服务器版本的安装程序包。 Stept2
压缩后,它创建数据库和文件备份
step3在临时目录下从服务器下载pakedge
步骤4用较旧的一个替换新的lib
step5如果更新成功,然后从temp Directory删除PKG并删除旧文件备份
step6如果失败替换sitebackup