大概有三个解决方案吧。

1 如果你精通PHP,你可以看看这个网站:http://gtk.php.net/

很明显,这个网站介绍了啥是GTK,你可以构件跨平台的图形化应用程序,当然你要再学一门语言,去掌握它提供的方法,恐怕这不是一般人能承受的,尤其是做网站的人,可能他们只是希望有一个框架,实际还是用浏览器在浏览一个网站。

2 于是就有了下面的这个方案,你应该可以理解步骤吧,简单来说就是把PHP,Apache,MySQL捆绑在一起,再加上你的网站,DOS命令熟悉的人甚至可以借助ZIP和BAT就打包完事了,双击一个BAT,解压缩一个ZIP,然后把一个快捷方式放到桌面上,你双击他就打开了一个网页,仅此而已。

这里有一个07年的帖子,大家可以参考一下。

2007-12-19 15:19

原理。我在网上找到了一个打包程序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 主页 http://www.xilo.cn。"

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 -- http://www.xilo.cn

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 全部完成 - www.xilo.cn

echo ____________________________________________________________

echo ^| ^|

echo ^| 全部完成! ^|

echo ^|____________________________________________________________^|

echo.

%pause%

copy 房地产信息管理系统.url "%userprofile%\桌面\"

start http://127.1:%htd_port%

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很好用也很强大!

3 最后一个真正可行的方案:我想要简单,又要像软件而不是网站,怎么办?你不会想自己开发一个浏览器吧。AAuto就是一款面向桌面的快速开发工具,你可以看一下下面这个帖子。

AAuto支持的语言多的吓人,不仅是PHP,连脚本JavaScript,VBScript也可以交互。

PHP封装成应用程序的三个方案的更多相关文章

  1. 将QT开发的界面程序封装成DLL,在VC中成功调用

    最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多 ...

  2. 将QT开发的界面程序封装成DLL,在VC中成功调用(必须有消息循环,所以使用了QTWinmigrate,附CSDN可下载的Demo)

    最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多 ...

  3. python程序封装成exe流程

    在学习python的过程中,在IDE编写完成py项目,运行成功想要封装成exe,方便分享给不同的人即使别人没有安装python也可以使用. 封装的过程中遇到一些问题,记录一下,方便自己和他人查阅. 以 ...

  4. 将HTML5封装成android应用APK文件的几种方法

    越来越多的开发者热衷于使用html5+JavaScript开发移动Web App.不过,HTML5 Web APP的出现能否在未来取代移动应用,就目前来说,还是个未知数.一方面,用户在使用习惯上,不喜 ...

  5. 将HTML5封装成android应用APK文件的几种方法(转载)

    越来越多的开发者热衷于使用html5+JavaScript开发移动Web App.不过,HTML5 Web APP的出现能否在未来取代移动应用,就目前来说,还是个未知数.一方面,用户在使用习惯上,不喜 ...

  6. 将HTML5封装成android应用APK文件的几种方法(转)

    作为下一代的网页语言,HTML5拥有很多让人期待已久的新特性.HTML5的优势之一在于能够实现跨平台游戏编码移植,现在已经有很多公司在移动 设备上使用HTML5技术.随着HTML5跨平台支持的不断增强 ...

  7. 详解封装微信小程序组件及小程序坑(附带解决方案)

    一.序 上一篇介绍了如何从零开发微信小程序,博客园审核变智障了,每次代码都不算篇幅,好好滴一篇原创,不到3分钟从首页移出来了.这篇介绍一下组件封装和我的踩坑历程. 二.封装微信小程序可复用组件 首先模 ...

  8. html5 如何打包成apk,将H5封装成android应用APK文件的几种方法

    直接使用编程软件提供的方法: 1.需要下载安装MyEclipse2014,Android SDK,eclipse(需配置Android开发环境) Java和Android环境安装与配置. 2.打开My ...

  9. Android 将HTML5封装成android应用APK文件的几种方法

    越来越多的开发者热衷于使用html5+JavaScript开发移动Web App.不过,HTML5 Web APP的出现能否在未来取代移动应用,就目前来说,还是个未知数.一方面,用户在使用习惯上,不喜 ...

随机推荐

  1. linux——(3)文件与目录管理

    文件与目录管理相关指令 ls [-adlR] 目录 #查看目录与文件的命令. -a #连同隐藏文件一起列出来. -d #只列出目录. -l #列出相关属性和权限等数据. -R #连同子目录内容一起列出 ...

  2. 山东省第四届省赛 E-Mountain Subsequences

    Description Coco is a beautiful ACMer girl living in a very beautiful mountain. There are many trees ...

  3. UOJ #30. [CF Round #278] Tourists

    UOJ #30. [CF Round #278] Tourists 题目大意 : 有一张 \(n\) 个点, \(m\) 条边的无向图,每一个点有一个点权 \(a_i\) ,你需要支持两种操作,第一种 ...

  4. [BZOJ4560][JLOI2016]字符串覆盖(贪心+DP)

    先用KMP求出所有可以放的位置,然后两个值分别处理. 最大值: 贪心,4!枚举放的先后位置顺序,2^3枚举相邻两个串是否有交. 若有交,则后一个的起始位置一定是离前一个的结束位置最近的位置,无交也一样 ...

  5. 我是如何从一个xss到某个浏览器的远程命令执行

    0x01 前言:其实我是个小白平时就喜欢瞎搞,无意间碰到一个浏览器就想一探究竟,好了废话不多说开始!!! 0x02 可以看到我打开的新标签是怎么一个链接页面,既然是页面我是不可以XSS它呢? 于是我就 ...

  6. JSONObject 和 JSONArray 的区别和用法

    JSONObject 和 JSONArray 的数据表现形式不同: JSONObject的数据是用 {  } 来表示的,例如: { "id" : "1", &q ...

  7. [转]在eclipse打开的android虚拟手机,打开File Explorer,下面是空的没有data、mnt、system三个文件

    在eclipse打开的android虚拟手机,打开File Explorer,下面是空的没有data.mnt.system三个文件 这是因为模拟器没有选择打开的缘故,必须首先打开一个模拟器(AVD), ...

  8. Java容器-引用数据类型排序+TreeSet、TreeMap底层实现

    目录 1.冒泡排序的实现 2.比较接口(普通数据类型.引用数据类型) 普通数据类型:冒泡排序 引用数据类型:包装类(Integer.String.Character.Date) 自定义类型:实体类:i ...

  9. Intelij Idea下的git使用

    一.简介 在我们入门软件研发并且是团队开发的时候,总会遇到这样合代码这么简单粗暴的工作,最开始我也能体会到这项工作折磨.那git是干什么得呢?简称分布式版本控制系统,常见就是上传代码.整合代码.更新代 ...

  10. AT070TN92 电源

    第二版STM32 + RA8875 + AT070TN92 + 触摸屏 + USB + C++... http://www.amobbs.com/thread-5510972-1-1.html