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 相关文章推荐
使用php4加速网络传输
Oct 09 PHP
PHP下对数组进行排序的函数
Aug 08 PHP
php DOS攻击实现代码(附如何防范)
May 29 PHP
基于PHP Socket配置以及实例的详细介绍
Jun 13 PHP
php采集中国代理服务器网的方法
Jun 16 PHP
汇总PHPmailer群发Gmail的常见问题
Feb 24 PHP
Symfony2实现在controller中获取url的方法
Mar 18 PHP
php自定义函数实现汉字转换utf8编码的方法
Sep 29 PHP
PHP页面输出搜索后跳转下一页的处理方法
Sep 30 PHP
PHP基于反射机制实现插件的可插拔设计详解
Nov 10 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
Oct 17 PHP
laravel框架查询数据集转为数组的两种方法
Oct 10 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引用地址改变变量值的问题
2012/03/23 PHP
php中JSON的使用与转换
2015/01/14 PHP
php版微信公众账号第三方管理工具开发简明教程
2016/09/23 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
设定php简写功能的方法
2019/11/28 PHP
js可突破windows弹退效果代码
2008/08/09 Javascript
JS 无限级 Select效果实现代码(json格式)
2011/08/30 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
学习JavaScript设计模式(多态)
2015/11/25 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
jQuery validate验证插件使用详解
2016/05/11 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
前端开发之CSS原理详解
2017/03/11 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
JavaScript canvas实现围绕旋转动画
2017/11/18 Javascript
小程序登录态管理的方法示例
2018/11/13 Javascript
js常用正则表达式集锦
2019/05/17 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
wxpython 学习笔记 第一天
2009/03/16 Python
python构建深度神经网络(DNN)
2018/03/10 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
2019/01/09 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
2019/08/13 Python
Pycharm自带Git实现版本管理的方法步骤
2020/09/18 Python
Nike瑞士官网:Nike CH
2021/01/18 全球购物
海南地接欢迎词
2014/01/14 职场文书
《月亮湾》教学反思
2014/04/14 职场文书
房地产推广策划方案
2014/05/19 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
日语系毕业求职信
2014/07/27 职场文书
2015年党总支工作总结
2015/05/25 职场文书
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL