V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shijingshijing
V2EX  ›  程序员

有什么好的工具能把基于 B/S 的 Web 应用封装成单机版可执行程序的?

  •  
  •   shijingshijing · 2017-12-18 15:26:46 +08:00 · 4161 次点击
    这是一个创建于 2531 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT,有一个小型的零件登记系统,本来是放在线上的 Web 版,后端是 PHP,用了 CodeIgniter 框架,数据库用的 SQLite。现在想复制一份单机版缺陷零件登记系统的给客户,最好是想弄成.exe 的可执行程序。

    粗略想了一下,相当于这个 exe 里面要封装一个 Apache,单文件数据库,可能还需要封装一个浏览器?数据库想从 SQLite 换成 Access,可能要重新弄个 Adapter。

    各位有什么这方面的经验,还希望多指点指点。

    18 条回复    2017-12-20 08:45:14 +08:00
    vance
        1
    vance  
       2017-12-18 15:50:33 +08:00
    nodejs 可以用 electron, php 不太清楚
    weifding
        2
    weifding  
       2017-12-18 15:56:10 +08:00 via Android
    用虚拟机,全部打包好。复制到客户那边运行虚拟机,然后开网页。完美
    clino
        3
    clino  
       2017-12-18 16:01:09 +08:00
    以 XAMPP 为基础来添加然后打包?
    le0rn0
        4
    le0rn0  
       2017-12-18 16:01:36 +08:00 via Android
    楼上还完美……直接给客户一台电脑,开机执行脚本打开网页更好
    7654
        5
    7654  
       2017-12-18 16:05:43 +08:00
    USBWebServer 来做可能更方便点
    zetaoyang
        6
    zetaoyang  
       2017-12-18 16:09:10 +08:00   ❤️ 1
    zjsxwc
        7
    zjsxwc  
       2017-12-18 16:14:31 +08:00
    不如直接送个小主机给客户
    Shazoo
        8
    Shazoo  
       2017-12-18 16:27:43 +08:00   ❤️ 1
    CEF3Client+xampp 用 portableapp 的框架打个包。我觉得就可以。
    jadec0der
        9
    jadec0der  
       2017-12-18 16:32:58 +08:00
    我们以前做过把 B/S 放到离线平板上,在本地 IIS 装上服务端,然后做了个套壳 UWP 应用,里面就是指向固定 url 的 webview
    shijingshijing
        10
    shijingshijing  
    OP
       2017-12-18 22:04:04 +08:00
    @clino
    @weifding
    @le0rn0
    @zjsxwc
    @jadec0der

    虚拟机,独立的 web server,分离安装 WAMP,XAMPP 都是不行的,只能单点一个 exe,行业用户内网各种奇葩的限制。


    @7654
    USB 口子直接被禁用的。。。Anyway,Thanks


    @zetaoyang
    @Shazoo

    恩,找到了个类似的,PHP Desktop Chrome,哈哈,看那个 Star,很多人有类似的需求啊。。。
    https://github.com/cztomczak/phpdesktop
    sjx95
        11
    sjx95  
       2017-12-18 23:35:08 +08:00
    Docker 怎么样?
    clino
        12
    clino  
       2017-12-19 08:11:52 +08:00
    我觉得单独一个 exe 不是不能做,但是非常麻烦吧...
    zjsxwc
        13
    zjsxwc  
       2017-12-19 09:56:30 +08:00   ❤️ 1
    @shijingshijing #10

    phpdesktop 一堆未解决的 issue 你敢用? star 多只是说明关注的人多,并不说好用
    hnbcinfo
        14
    hnbcinfo  
       2017-12-19 11:10:21 +08:00   ❤️ 1
    我的网站是.net 开发,iis 服务器,mysql 数据库。用户是局域网使用,所以需要打包成 exe 安装包发布。
    我的解决方案是:
    直接使用打包工具,Advanced Installer,可以打包时配置 iis,创建网站,指定网站物理路径。
    数据库使用 mysql 绿色版,以文件夹形式打包进 exe,同时写脚本创建 mysql 服务,安装过程中执行脚本。
    安装过程,需要用户配置域名,端口等,用户安装完成后网站可以直接访问。不需要专业人员就可以正常安装。

    我估计也有不少支持 Apache 的打包工具,楼主可以研究下。
    shijingshijing
        15
    shijingshijing  
    OP
       2017-12-19 18:17:02 +08:00
    @hnbcinfo
    已经成功部署了么?听起来很不错的样子。。。
    不过他们内网很烦,每台电脑都装了 Norton 全家桶,不仅有杀病毒的那个 AntiVirus,还有 Norton 的网络防火墙,开 Localhost 作为服务器可能要改防火墙配置,给端口什么的,这样就要找 IT 申请,审批走流程什么的。


    @zjsxwc
    哈哈,刚看到 issue,谢谢提醒。不过其实只要凑合能用就行了,以实现功能为主。
    weifding
        16
    weifding  
       2017-12-20 08:39:37 +08:00 via Android
    找下嵌入式 php 的资料
    weifding
        17
    weifding  
       2017-12-20 08:43:05 +08:00 via Android
    or exeoutput for php
    hnbcinfo
        18
    hnbcinfo  
       2017-12-20 08:45:14 +08:00
    @shijingshijing 一直用着,好几年了,很稳定啊,我们的客户一般是学校,校园内网使用,全国各地都有,为了安装人员方便才这么搞的。
    不过你客户的需求应该是要单机运行,只要代码不是很乱,层次分的清楚,稍微花点功夫,把 web 层替换成桌面程序更好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1289 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:43 · PVG 01:43 · LAX 09:43 · JFK 12:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.