liujiantao
V2EX  ›  问与答

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

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

    可具体如何实现啊

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

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

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

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