php项目打包方法


Posted in PHP onFebruary 18, 2008

大家经常会接到一些编程的活,例如设计企业网站,做做财务,统计系统什么的。或许是因为朋友的需求,或许图个零花。不管什么原因吧。等程序做好了,给对方展示、安装,就成了问题。企业网站好说,至少需要个虚拟主机什么的;可是OA,财务……这些内部系统就不好说了,总不能把代码和数据库扔给人家,写个说明,让他们自己照着说明去配置环境,安装代码吧。这样显然不像话,要知道隔行如隔山啊!再者,万一客户离自己呆的地方十万八千里,总不能过去给人安装吧,这样估计所有收入都挡不住这一来一往的车费的。所以把WAMP环境+PHP程序+维护安装卸载程序打成EXE安装包就很有必要。要让客户安装PHP程序就像安装QQ一样简单,方便!

方法应该有N多种。我所知道的只有三种。

1.用RAR的自动解压缩功能。

2.用windows打包软件InstallShield打成安装包。

3.用现成的东西打包!(呵呵,俗话说,站在巨人的肩膀上么!我也是懒人一族的。)

以上1.2方法呢,大家可以通过百度,谷歌搜一搜。不会懒得搜索吧……=.=!比我还……

在这里我详细说一下我的方法。这个方法也是前些日子帮朋友做个房地产信息系统时自己搜集到的。

第一,首先需要一个纯净绿色的PHP运行环境。组件根据项目需求先配置好。我是以F:\PHPServer为环境根目录,一般组件apache2+php5+mysql5+zo需要开通GD库……配置80,3306……这个大家应该比我熟悉。可以应用定制性比较强的集成套件最好要ZIP格式绿色版的,例如PHPNOW,XAMPP。不要急,下载链接会写在下面。我用的是PHPnow,小巧方便定制性高!

第二,把我们的编的系统安上,自己查错调试,一切OK后。好了这就完成一半了。这时候有人发话了,“江湖郎中”“蒙古大夫”“骗子”。恩!各位不要急,好戏在后边!现在这个文件夹PHPServer,要保证不要向外界导入配置文件,一定要保证PHPServer的独立与完整性,就是保证其绿色。

第三,向这些绿色集成套件一般里面都有写好的BAT也就是批处理文件,直接启动输入号码就能启动和关闭服务。这时我们可以用RAR自解压+运行批处理,可以,但现在遭到很多杀毒软件封杀拦截。其实我用的也是这个原理。我在网上找到了一个打包程序make_exe(来自PHPnow)可以把.7z+打包后的文件界面信息打成一个EXE运行包,并在运行自解压后自动运行7z压缩包中的批处理文件。make_exe.zip包里有Make_exe.cmd,PHPServer.sfx,PHPServer.sfx.cf三个文件。看到这一点,大家应该有思路了吧。首先把PHPServer压成PHPServer.7z文件然后配置好。修改PHPServer.sfx.cf文件,然后运行Make_exe.cmd就可以了。

首先:Make_exe.cmd代码
set v=1.2
copy /b /y PHPServer.sfx + PHPServer.sfx.cf + *.* PHPServer%v%.exe || pause
很明了吧!“set v=1.2”是版本,然后需要三个文件,打包。
PHPServer.sfx.cf代码,打开方法,直接拖到TXT就行了

;!@Install@!UTF-8!
Title="房地产信息管理系统V1.2"
BeginPrompt="# 房地产信息管理系统V1.2安装包 #\n\n * 确认你没有运行 IIS 等其他占用 80 端口的服务。\n * 如果你安装有其他同类套件,请先停止或卸载。\n * 安装完成后请不要随便移动安装目录。\n\n作者:xilo QQ:110026985 主页 <a href="http://www.xilo.cn/">http://www.xilo.cn</a>。"
ExtractDialogText="请稍后,正在解压文件 ..."
ExtractTitle="正在解压 ..."
ExtractPathText="请选择解压路经(仅限英文字符):"
ExtractCancelText="取消"
CancelPrompt="你真的要退出吗?"
GUIFlags="4+8+32+64+256+2048"
InstallPath="D:\\PHPServer"
RunProgram="cmd /c setup.cmd"
;!@InstallEnd@! 
这些相信也不用我解释了,想显示什么就改什么。注意这句InstallPath="D:\\PHPServer"为安装目录,还有解压后运行RunProgram="cmd /c setup.cmd"这个BAT,也就是启动apache,mysql服务的命令了。下面就是PHPServer的setup.cmd的命令了。因为太多简单贴上几句!

@echo off
rem -- <a href="http://www.xilo.cn/">http://www.xilo.cn</a>
rem -- By xilo (QQ:110026985)
setlocal enableextensions
call Pn\config.cmd
prompt -$g
title 初始化 PHPserver %pnver% - Apache + PHP + MySQL
echo   ____________________________________________________________
echo  ^|                                                            ^|
echo  ^|  ######  正在安装 浩搏不动产信息管理系统 环境套件  ######  ^|
echo  ^|____________________________________________________________^|
echo.

:copy
echo   ____________________________________________________________
echo  ^|                                                            ^|
echo  ^|    开始文件处理 ...                                        ^|
echo.
rem 建立目录
if not exist %apadir%\conf\extra md %apadir%\conf\extra
if not exist %apadir%\logs md %apadir%\logs
省略…………
省略…………
下面会附上全部文件的!简单解释就是配置,复制,启动!不明白我会再楼下解释。
贴图:

第一步:
php项目打包方法
第二步:

php项目打包方法

第三步:

php项目打包方法

其实已经OK了,相信大家也懂了,第一次发技术帖有点太唐僧了!哈哈!如果在完善的话就是卸载命令啊!备份数据库啊!添加到STARTMENU里去啊!都很简单的!最后声明一点,所有资源均来自于网上,希望软件作者不要找我麻烦啊!
帖链接!!!
1.PHPnow官方的
2.Make_EXE.zip
3.精简后的setup.cmd
4.7z很强大!

PHP 相关文章推荐
vBulletin Forum 2.3.xx SQL Injection
Oct 09 PHP
php面向对象全攻略 (十四) php5接口技术
Sep 30 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
May 23 PHP
PHP之APC缓存详细介绍 apc模块安装
Jan 13 PHP
PHP冒泡算法详解(递归实现)
Nov 10 PHP
PHP导出Excel实例讲解
Jan 24 PHP
PHP微信分享开发详解
Jan 14 PHP
Yii 2.0在Grid中格式化时间方法示例
Jun 06 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
Sep 29 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
php删除二维数组中的重复值方法
Mar 12 PHP
laravel框架语言包拓展实现方法分析
Nov 22 PHP
PHP4与PHP5的时间格式问题
Feb 17 #PHP
PHP5 面向对象程序设计
Feb 13 #PHP
Dedecms常用函数解析
Feb 01 #PHP
用php实现批量查询清除一句话后门的代码
Jan 20 #PHP
asp和php下textarea提交大量数据发生丢失的解决方法
Jan 20 #PHP
php开发工具之vs2005图解
Jan 12 #PHP
java EJB 加密与解密原理的一个例子
Jan 11 #PHP
You might like
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
PHP培训要多少钱
2017/06/06 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
Javascript中call与apply的学习笔记
2014/09/22 Javascript
深入理解Javascript中的自执行匿名函数
2016/06/03 Javascript
JS中判断null的方法分析
2016/11/21 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
2017/08/15 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
微信小程序如何获取用户手机号
2018/01/26 Javascript
简单说说angular.json文件的使用
2018/10/29 Javascript
vue实现移动端悬浮窗效果
2018/12/01 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
2020/03/07 Javascript
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
用Python实现web端用户登录和注册功能的教程
2015/04/30 Python
python爬虫入门教程--正则表达式完全指南(五)
2017/05/25 Python
Python绘制3D图形
2018/05/03 Python
python 对txt中每行内容进行批量替换的方法
2018/07/11 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
京东全球售:直邮香港,澳门,台湾,美国,澳大利亚等地区
2017/09/24 全球购物
维多利亚的秘密官方网站:Victoria’s Secret
2018/10/24 全球购物
大学生创业计划书的用途
2014/01/08 职场文书
八一演出活动方案
2014/02/03 职场文书
廉政教育的心得体会
2014/09/01 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
学生偷窃检讨书
2014/09/25 职场文书
个人股份转让协议书范本
2014/10/26 职场文书
初一年级组工作总结
2015/08/12 职场文书
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python