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的session功能评述(二)
Oct 09 PHP
我的论坛源代码(六)
Oct 09 PHP
PHP 飞信好友免费短信API接口开源版
Jul 22 PHP
php文档更新介绍
Jul 22 PHP
php中防止SQL注入的最佳解决方法
Apr 25 PHP
php遍历目录与文件夹的多种方法详解
Nov 14 PHP
php cookie中点号(句号)自动转为下划线问题
Oct 21 PHP
php使用fputcsv()函数csv文件读写数据的方法
Jan 06 PHP
PHP常用工具类大全附全部代码下载
Dec 07 PHP
php提交post数组参数实例分析
Dec 17 PHP
Yii2框架制作RESTful风格的API快速入门教程
Nov 08 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
Apr 18 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向socket服务器收发数据的方法
2015/01/24 PHP
PHP+MySql+jQuery实现的&quot;顶&quot;和&quot;踩&quot;投票功能
2016/05/21 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
Thinkphp集成抖音SDK的实现方法
2020/04/28 PHP
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
如何使用jQUery获取选中radio对应的值(一句代码)
2013/06/03 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
js将键值对字符串转为json字符串的方法
2018/03/30 Javascript
解决vue接口数据赋值给data没有反应的问题
2018/08/27 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
前端插件之Bootstrap Dual Listbox使用教程
2019/07/23 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
flask入门之表单的实现
2018/07/18 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
python遍历小写英文字母的方法
2019/01/02 Python
Python判断telnet通不通的实例
2019/01/26 Python
详解python tkinter模块安装过程
2020/01/06 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
python多进程使用函数封装实例
2020/05/02 Python
3D动画《斗罗大陆》上线当日播放过亿
2021/03/16 国漫
关于HTML5你必须知道的28个新特性,新技巧以及新技术
2012/05/28 HTML / CSS
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
中国跨镜手机配件批发在线商店:TVC-Mall
2019/08/20 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
大学生党员自我批评
2014/02/14 职场文书
培训讲师开场白
2015/06/01 职场文书
2015年语言文字工作总结
2015/07/23 职场文书
浅谈:电影《孔子》观后感(范文)
2019/10/14 职场文书
python 进阶学习之python装饰器小结
2021/09/04 Python
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js