最新消息:xilo的博客2016重新上线,感谢新老朋友的热情关注。

PHP项目打包

项目 xilo 7266浏览 0评论

这次与大家分享的是PHP成品打包。好了,话不多说进入正题!!!

大家经常会接到一些编程的活,例如设计企业网站,做做财务,统计系统什么的。或许是因为朋友的需求,或许图个零花。不管什么原因吧。等程序做好了,给对方展示、安装,就成了问题。企业网站好说,至少需要个虚拟主机什么的;可是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代码

1
2
set v=1.2
copy /b /y PHPServer.sfx + PHPServer.sfx.cf + *.* PHPServer%v%.exe || pause

很明了吧!“set v=1.2”是版本,然后需要三个文件,打包。
PHPServer.sfx.cf代码,打开方法,直接拖到TXT就行了

1
2
3
4
5
6
7
8
9
10
11
12
;!@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的命令了。因为太多简单贴上几句!

setup.cmd代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
@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
if not exist %SystemRoot%\Temp\session.save_path md %SystemRoot%\Temp\session.save_path
rem 初始配置 Apache
if not exist %apadir%\conf\magic copy %apadir%\conf\default\magic %apadir%\conf /y
if not exist %apadir%\conf\mime.types copy %apadir%\conf\default\mime.types %apadir%\conf /y
if exist %apadir%\conf\default\httpd-win.conf (
  %pl% require_once './Pn/init.phpc'; init_apache_conf(^);
) else (
  type Pn\conf.default\httpd.conf&gt;%apadir%\conf\httpd.conf
  type Pn\conf.default\pn_htd.conf&gt;&gt;%apadir%\conf\httpd.conf
  copy Pn\conf.default\httpd-autoindex.conf %apadir%\conf\extra /y
)
if not exist %vh% copy Pn\conf.default\httpd-vhosts.conf %vh%
if not exist htdocs\index.php copy Pn\pn_info.ph_ htdocs\index.php /y
rem 复制 DLL
copy %phpdir%\php5ts.dll %apadir%\bin /y
copy %phpdir%\libmhash.dll %apadir%\bin /y
copy %phpdir%\libmcrypt.dll %apadir%\bin /y
copy %phpdir%\libmysql.dll %apadir%\bin /y

………………

rem 初始配置 php-.ini

………………

rem 初始配置 my.ini

………………

echo   ____________________________________________________________
echo  ^|                                                            ^|
echo  ^|    正在安装 Apache ...                                     ^|
echo.
cd %apadir%
bin\httpd.exe -k install -n %htd_svc%

……………………

:done
title 全部完成 - <a href="http://www.xilo.cn/">www.xilo.cn</a>
echo   ____________________________________________________________
echo  ^|                                                            ^|
echo  ^|    全部完成!                                               ^|
echo  ^|____________________________________________________________^|
echo.
%pause%
copy 房地产信息管理系统.url "%userprofile%\桌面\"
start <a href="http://127.1:%htd_port%">http://127.1:%htd_port%</a>
prompt
if exist setup.cmd ren setup.cmd setup.cm_

下面会附上全部文件的!简单解释就是配置,复制,启动!不明白我会再楼下解释。
贴图:

第一步:

第二步:

第三步:


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

转载请注明:xilo blog » PHP项目打包

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (9)

  1. 这篇文章还真是蛮有用处的,真的哥们,你毕业了吧?我在师大上学,你的PHP是自学的吗? 文章可以转到我的Blog吧? 去实验一下。
    NEVERSION17年前 (2008-01-12)
  2. 请问,你是?恩,PHP是自学的。我毕业了。工大毕业的。我们认识吗?
    xilo17年前 (2008-01-12)
  3. 怎么说呢,我们刚刚认识,呵呵(以前不认识的),我是看了你几篇文章才知道你是天津工大的,交个朋友;还有,我也要自学了,不知为什么总是坚持不住。
    NEVERSION17年前 (2008-01-13)
  4. 呵呵,很高兴认识你。我的QQ:110026985。邮箱:xilox(at)163.com。用以上两个联系吧,留言显然不是一种很好的联络方法。
    xilo17年前 (2008-01-14)
  5. 站长您好: 网络上寻到贵站 。现在我想将一PHP站打包成EXE单文件运行,可现在PHPNOW现在不提供下载你提及的软件了。不知能否发我一个? 谢谢
    zuike16年前 (2008-12-17)
  6. 汗。。我之前在别人网站看的文章,现在到你网站我没细心看,原来后面有提供下载,可是,我需要打包成一个单一的EXE文件,不想人家看我的代码,就比如NOXBOT【打包ASP】一样的功能,在PHP中有类似的软件吗?
    zuike16年前 (2008-12-17)
  7. phpnow.org网站最近访问是不正常,你可以去google搜一下。skycn...都有下载的。我这里有一个,版本可能不是最新的。
    xilo16年前 (2008-12-17)
  8. PHP是开源语言,属于web开发程序,基于服务引擎的解释语言。我现在还不知道有没有这种软件,如果你知道了,麻烦告诉我一下。呵呵。
    xilo16年前 (2008-12-17)
  9. 站长好 非常感谢。
    zuike9年前 (2015-01-22)