liujiantao
V2EX  ›  问与答

想做个 PHP 的在线升级系统,类似 disucz 升级那样

  •  
  •   liujiantao · Jan 2, 2015 · 8833 views
    This topic created in 4328 days ago, the information mentioned may be changed or developed.

    可具体如何实现啊

    就是差量更新系统,检测服务器端和本地的文件差异,然后更新系统,怎么做?

    16 replies  •  2015-01-03 18:56:09 +08:00
    zts1993
    zts1993
    Jan 2, 2015
    1
    更新包是做好的吧,版本和版本之间的差距。

    如果你用git做版本控制,可以用git patch导出文件差异,patch文件里面会记录更新的文件,你只要把新文件复制出来就是需要更新的文件了
    liujiantao
    liujiantao
    OP
    Jan 2, 2015
    2
    @zts1993 有没有类似实例呢?这样看我好像越来越晕了
    zts1993
    zts1993
    Jan 2, 2015 via Android
    3
    @liujiantao 我做过,但是不一定适合你,代码你就随便看看吧,,很烂,https://github.com/zts1993/git-diff-tools
    qiuai
    qiuai
    Jan 2, 2015
    4
    检查version.txt....最简单的
    liujiantao
    liujiantao
    OP
    Jan 2, 2015
    5
    @qiuai 简单虽简单,但更新的时候有些文件不需要更新,直接检测txt然后下载下来,重新配置不就相当于再重新安装一次?这样会增加麻烦,也有风险的
    herozzm
    herozzm
    Jan 2, 2015
    7
    我也希望能有实际操作经验的回答该问题,马上就要付诸现实额
    qiuai
    qiuai
    Jan 2, 2015
    8
    @liujiantao DZ下载的也不是完整安装包.肯定是单独制作的升级包.

    再不行就跟DZ一样,用外部文件来执行升级,这样该不覆盖的检测一下标签是否能覆盖就是了.
    l12ab
    l12ab
    Jan 2, 2015
    9
    我目前自己实现的是,访问version.txt 判断版本,然后下载一个 增量.zip, 再解压覆盖。
    yefengs
    yefengs
    Jan 3, 2015
    10
    可以研究下Wordpress的更新机制,貌似很强悍的....
    kookxiang
    kookxiang
    Jan 3, 2015 via Android
    11
    Discuz内部有svn,所谓增量包也是人家提前打包好放服务器的
    yellowV2ex
    yellowV2ex
    Jan 3, 2015
    12
    把用户配置,修改,储存,数据库的东西另外放,然后一个单独的文件夹只放你的程序,更新的时候,整个程序文件夹换掉。这种最简单了,不用每个版本都做个增量
    liujiantao
    liujiantao
    OP
    Jan 3, 2015 via Android
    13
    @qiuai 噢噢,明白了
    liujiantao
    liujiantao
    OP
    Jan 3, 2015 via Android
    14
    @yefengs 可是服务器上的配置我们也不知道啊
    liujiantao
    liujiantao
    OP
    Jan 3, 2015 via Android
    15
    @kookxiang 谢谢了,意思就是本地检测更新,然后根据版本号从服务器上下载对应的升级包?
    liujiantao
    liujiantao
    OP
    Jan 3, 2015 via Android
    16
    @yellowV2ex 了解了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4087 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 06:49 · PVG 14:49 · LAX 22:49 · JFK 01:49
    ♥ Do have faith in what you're doing.