新足迹

 找回密码
 注册

精华好帖回顾

· 湖泊,峡谷,遍地彩雀 – 这里是新西兰南岛(全文完) (2009-1-2) hilltop-bear · 图文说明屋顶维修 (2008-1-28) chinara
· 9月美食活动——老婆の饼 (2009-9-5) edith921 · 木木的面包机扎堆贴:花卷,红油汤饺,面包,凉皮都来了(106楼,水晶蒸饺出锅了) (2008-11-15) spicypig
Advertisement
Advertisement
查看: 1759|回复: 15

自己架设自动更新服务器 [复制链接]

发表于 2013-4-18 15:53 |显示全部楼层
此文章由 easter 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 easter 所有!转贴必须注明作者、出处和本声明,并保持内容完整
想自己架设自动更新服务器,让用户的PHP网站定期到这个服务器检查,如果有更新则提示用户。用户确认的话就自动安装。

那位有这方面的经验,分享一下吧。

谢谢
Advertisement
Advertisement

发表于 2013-4-18 16:01 |显示全部楼层
此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果是桌面程序,比较容易,程序启动的时候,访问网站得回更新信息,然后启动更新程序,让更新程序关闭主程序,然后下载覆盖。
当web就有个问题,当前运行用户应该是没有权限删除覆盖文件的吧

发表于 2013-4-18 17:02 |显示全部楼层
此文章由 鱼羊鲜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 鱼羊鲜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
用cron 或者 用户访问页面时检查更新。

发表于 2013-4-18 17:02 |显示全部楼层
此文章由 easter 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 easter 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 easter 于 2013-4-18 16:27 编辑

权限应该是有的吧,因为用php移动和删除文件都是没有问题的
wordpress 现在就是这样,但没找到资料介绍它是怎样实现的

发表于 2013-4-18 17:07 |显示全部楼层
此文章由 easter 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 easter 所有!转贴必须注明作者、出处和本声明,并保持内容完整
鱼羊鲜 发表于 2013-4-18 16:02
用cron 或者 用户访问页面时检查更新。

是想让用户进入后台管理的时候检查更新
但不知哪里有相关的资料,从头开始的话疏漏肯定很多

发表于 2013-4-18 17:16 |显示全部楼层
此文章由 鱼羊鲜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 鱼羊鲜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原理就是,去检查一个远程的链接获得最新版本号和下载地址,如果大于本地版本,则提示下载更新

你希望直接找代码?
Advertisement
Advertisement

发表于 2013-4-18 17:26 |显示全部楼层
此文章由 easter 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 easter 所有!转贴必须注明作者、出处和本声明,并保持内容完整
鱼羊鲜 发表于 2013-4-18 16:16
原理就是,去检查一个远程的链接获得最新版本号和下载地址,如果大于本地版本,则提示下载更新

你希望直接 ...

如果有相关的开源项目最好啦
直接能用的,肯定找不到,至少有可参考比较好

发表于 2013-4-18 17:35 |显示全部楼层
此文章由 鱼羊鲜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 鱼羊鲜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
嗖嗖应该有人demo的,不过自己写也就10几行代码哈

发表于 2013-4-18 17:38 |显示全部楼层
此文章由 easter 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 easter 所有!转贴必须注明作者、出处和本声明,并保持内容完整
鱼羊鲜 发表于 2013-4-18 16:35
嗖嗖应该有人demo的,不过自己写也就10几行代码哈

不是这么简单吧,google chrome自动更新的客户端是开源的,有8M之大, 还不知服务端 是怎么个情况

发表于 2013-4-18 17:44 |显示全部楼层
此文章由 鱼羊鲜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 鱼羊鲜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
真就这么简单,不行等其他大牛答你

特殊贡献奖章

发表于 2013-4-18 19:00 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我同意楼上

虽然没具体做过,不过原理就是对比客户网站和服务器网站的版本号,几行代码就可以搞定
更新的话复杂点,要看你是文件更新还是数据库更新
文件更新好说,下载解压覆盖就可以了
数据库更新的话,要写数据库更新的代码,比较麻烦

chrome大是因为她是application,跟web不同
Advertisement
Advertisement

发表于 2013-4-19 00:32 |显示全部楼层
此文章由 easter 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 easter 所有!转贴必须注明作者、出处和本声明,并保持内容完整
kr2000 发表于 2013-4-18 18:00
我同意楼上

虽然没具体做过,不过原理就是对比客户网站和服务器网站的版本号,几行代码就可以搞定

其实我也没想出太复杂的东西,只是看到好几个开源网站一直嚷嚷要搞自动更新,但又说没时间去实现。几行代码搞定的事,时间还找不出来

特殊贡献奖章

发表于 2013-4-19 12:26 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
easter 发表于 2013-4-18 23:32
其实我也没想出太复杂的东西,只是看到好几个开源网站一直嚷嚷要搞自动更新,但又说没时间去实现。几行代 ...

几行代码是说检测是否有更新

自动更新有时候是简单的事,有时候就不是
就象之前我说的,如果有数据库的更新,特别是改table的结构,那个更新代码就要很小心
对开源的来说要照顾到很多不同的环境,出了错人家数据就丢了
对你自己开发的小型项目的话,相对就比较简单了

发表于 2013-4-20 11:02 |显示全部楼层
此文章由 easter 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 easter 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 easter 于 2013-4-20 14:38 编辑
kr2000 发表于 2013-4-19 11:26
几行代码是说检测是否有更新

自动更新有时候是简单的事,有时候就不是


只检测更新是比较简单,但除了数据结构之外还有其他很多方面要考虑,比如
1. 关闭主页暂定用户访问,等更新完成之后恢复
2. 更新之前检查用户是不是自己定制过,如果有要提示用户更新会覆盖定制
3. 如果只是部分更新,如何确定下载文件的列表
4.更新之前要备份文件,如果更新不成功就回滚
... ...
我觉得有不少问题要解决,可能还有的问题自己一下也想不到,这也是我想找个现有项目参考的原因
毕竟一个项目如果已经运行一段时间肯定会遇到不少问题,也会有不少改进
头像被屏蔽

禁止访问

发表于 2013-4-23 18:02 |显示全部楼层
此文章由 lingg 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 lingg 所有!转贴必须注明作者、出处和本声明,并保持内容完整
easter 发表于 2013-4-20 10:02
只检测更新是比较简单,但除了数据结构之外还有其他很多方面要考虑,比如
1. 关闭主页暂定用户访问,等更 ...

你去下个旧版本的PHPBB,然后更新一下试试,基本上有你说的这些

发表于 2013-4-23 22:57 |显示全部楼层
此文章由 easter 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 easter 所有!转贴必须注明作者、出处和本声明,并保持内容完整
lingg 发表于 2013-4-23 17:02
你去下个旧版本的PHPBB,然后更新一下试试,基本上有你说的这些

谢谢,我已经找到了几篇文章和范例,wordpress也这个功能
Advertisement
Advertisement

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部