您的位置:HBcms宏博内容管理系统 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分析一下,这样做是否可行?有什么弊端?谢谢


效果图例:


 
本页地址
相关文章

可能是PEAR:config组件的bug
PHP官方网站,php官方论坛,中文函数手册下
PHP程序员易忽略的PHP精华和技巧
php ajax实例: 开发高质量的RSS聚合器
PHP ASP比较:PHP比ASP优秀的七个理由
Smarty+PEAR::Pager+PEAR::HTML_table列表
PHP6下载,php6介绍和php6安装手册
PHP的PEAR::HTML_AJAX类库应用
最佳的PHP数据库MySQL市场主管采访
SMTP判断邮箱是否存在,检查email地址是否真
php程序员前途,mysql数据库和oracle的区别
PHP生成静态页面详解

相关评论

评论人:vp-rs2006-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技术