|
热门文章
推荐文章
最新文章
|
用php实现远程安装:自动下载,自动解压
添加时间:2006-08-05 原文发表:2006-08-05 人气:678
【原创】用php实现项目远程安装:自动下载,自动解压
需求背景: 通常安装一个php源码程序(如phpmyadmin),我们都是先下载软件包,然后解压,然后上传到服务器,然后开始安装。如果这个软件包解压后,文件比较多,上传就比较慢了,而且无法保证是最新版。那么,是否可以有一个类似unix下php的pear安装一样的安装脚本来实现呢??
实现思路: 我们需要做一个php程序,在浏览器运行它,可以实现 1。远程下载程序包 2。自动解压 3。自动进入安装界面
核心方法:
1。下载,用curl,file,file_get_contents 等函数就可以实现
2。解压,用PEAR::archive_zip组件
3。安装,校验file_md5后,进入自动安装界面
代码测试:
HBCMS自动安装脚本(50KB):
http://www.hbcms.com/download/unzip.php_hbcms
下载后,将 unzip.php_hbcms 改名为 unzip.php,上传到您的web空间,
在浏览器直接访问 unzip.php 就可以自动安装了
安装和使用帮助这里有一些: http://www.hbcms.com/cms/help/
请各位phper分析一下,这样做是否可行?有什么弊端?谢谢
效果图例:
|
| 评论人:vp-rs | 2006-12-13 | 我觉得:
1.此方法自己用就行,但绝大部分虚机是不装pear,curl的,所以不通用。
2.再有就是web的执行身份是nobody吗?
虚机主目录可能是755(绝大部分都是),如果不手动设置某个目录的777,不以ftp身份而直接以nobody身份是无法执行的。
这也就是绝大部分php源码,仍按照:下载 >解压 >上传 >ftp设目录权限 >配置config >安装的原因了。
3.php及客户端执行时间可能会超时,file_get_contents不能断点续传哦,等你的CMS成熟了,最少也要几M大小,到时很可能超时。
到是有一种方法可以试下,不知道行不行,首先就是,hbcms的服务器安装ftp函数(相信已安装了),用户进入下载页面,让用户输入ip,用户名,密码,直接这些内容推到用户的服务器上。
一页一页推,是非常快的(这时就要注意这个CMS的页面数量及目录控制的规范了),
用refresh来控制刷新,也防止客户端执行时间超时,边推边设目录权限(ftp函数可以帮用户自动完成了),
推完后,再转到安装页,这样客户设一下数据库就可以完成了,写到这,想起了Discuz的更新升级,是在后台链接DZ更新项,让用户手动更新,用这个FTP函数,也可以轻松方便用户更新了。
当然,ftp帐号的管理什么的,也挺麻烦的,最好的办法就是不
|
 本文章所属分类: 首页
→ PHP技术
|
文章搜索
|