PHP打包成EXE原理

 

我在网上找到了一个打包程序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 主页 。”
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代码:

代码:

@echo off
rem — 
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>%apadir%\conf\httpd.conf
? type Pn\conf.default\pn_htd.conf>>%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 全部完成 – 
echo?? ____________________________________________________________
echo? ^??????????????????????????????????????????????????????????? ^
echo? ^??? 全部完成!?????????????????????????????????????????????? ^
echo? ^____________________________________________________________^
echo.
%pause%
copy 房地产信息管理系统.url “%userprofile%\桌面\”
start 
prompt
if exist setup.cmd ren setup.cmd setup.cm_
下面会附上全部文件的!简单解释就是配置,复制,启动!不明白我会再楼下解释。
?03.jpg (24.58 KB)
第三步

2007-12-13 03:08

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

 

发表评论 取消回复

电子邮件地址不会被公开。 必填项已用*标注