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

如何打包 php 网站以便 [方便地] 在其他电脑运行?

  •  
  •   gdtv · 2016-09-22 01:34:32 +08:00 · 6482 次点击
    这是一个创建于 2779 天前的主题,其中的信息可能已经有所发展或是发生改变。
    朋友要帮公司处理一堆 excel 文件,来请教我。
    我不懂 excel ,但我懂 php , php 真是世界上最好的语言[手动斜眼],我用 php 写了个脚本遍历所有 excel 文件、读取、整理、输出。
    需求实现了——至少在我电脑上实现了。
    但是,怎么让这个 php 脚本能方便地在朋友的电脑上运行呢?
    有没有打包成一个 exe 文件的方法?
    51 条回复    2016-09-23 23:00:46 +08:00
    a87150
        1
    a87150  
       2016-09-22 01:47:14 +08:00   ❤️ 3
    改用世界上第二好的语言 python
    lslqtz
        2
    lslqtz  
       2016-09-22 02:14:09 +08:00 via iPhone   ❤️ 1
    php.exe 和一个启动脚本即可
    gzlock
        3
    gzlock  
       2016-09-22 02:36:56 +08:00   ❤️ 2
    usbwebserver ,集成 apache mysql php 的绿色 exe 程序
    如名所示,可放入 u 盘到处(windows)运行
    lincanbin
        4
    lincanbin  
       2016-09-22 02:41:56 +08:00   ❤️ 1
    PHP 带 CLI 的,你把那个 php 的解释器也一块复制过去就好了,不需要部署。
    ryd994
        5
    ryd994  
       2016-09-22 05:25:58 +08:00   ❤️ 1
    下意识 docker ……
    Wakeupzombie
        6
    Wakeupzombie  
       2016-09-22 07:29:15 +08:00
    首选 docker
    bearqq
        7
    bearqq  
       2016-09-22 07:37:48 +08:00 via Android
    人家要 exe 你们说 docker 的也是够了,不看需求的么。。。
    一楼应该正解
    fengyqf
        8
    fengyqf  
       2016-09-22 07:42:01 +08:00   ❤️ 1
    三楼方案是可行的。换用别的 php 环境也行,复制即可运行的那种。以前张宴有一个不错的版本,不过好多年没更新了。
    Tyanboot
        9
    Tyanboot  
       2016-09-22 07:43:23 +08:00 via Android   ❤️ 1
    PHP.exe 可以。你这样的东西我去年也做过类似的。发布的时候带了一个自己精简过的 PHP-cil 。 10M 左右。
    soulteary
        10
    soulteary  
       2016-09-22 07:53:30 +08:00   ❤️ 2
    核心目的如果是将已有 PHP 代码 /逻辑变成方便在 windows 系统上运行的工具的话,可以不用拘泥于分享形式:

    1. 创建一个 bat ,或者使用 auto 脚本工具,安装包来做执行文件,使用 shellex 之类的接口运行你的 php 脚本。

    2. https://github.com/clue/php-zenity-react 使用类似辅助手段,把 php 变成“原生”带界面程序。

    3. 做成 lamp ,在浏览器里解决需求,部署通用服务分享,或者给朋友单独部署属于他的服务。

    4. 换语言, https://github.com/electron/electron (类似 2 )

    5. 封装运行环境,使用虚拟机镜像+ samba/共享目录,使用 docker+共享数据卷等等

    ...
    chaegumi
        11
    chaegumi  
       2016-09-22 08:09:22 +08:00   ❤️ 1
    一个集成环境能有多难? upupw
    murmur
        12
    murmur  
       2016-09-22 08:12:03 +08:00
    感觉你选错语言了 这种东西选.net 不更好。。
    ersic
        13
    ersic  
       2016-09-22 08:15:29 +08:00
    说 docker 的都是只看标题不看内容的
    qweweretrt515
        14
    qweweretrt515  
       2016-09-22 09:14:48 +08:00
    改用直接上最好的语言 python 或者 php.exe
    Fedor
        15
    Fedor  
       2016-09-22 09:18:17 +08:00
    php -S
    misaka19000
        16
    misaka19000  
       2016-09-22 09:18:28 +08:00
    弄个 Nginx + PHP 环境啊,直接打包过去,让他在浏览器里面打开不就行了
    mokeyjay
        17
    mokeyjay  
       2016-09-22 09:23:21 +08:00
    PHP 有很多绿色环境包的,例如 phpStudy
    ffkjjj
        18
    ffkjjj  
       2016-09-22 09:24:30 +08:00 via iPhone
    把 php 文件发布到服务器。
    z5864703
        19
    z5864703  
       2016-09-22 09:40:54 +08:00
    要么用绿色环境,建议以后这种要在其他 windows 电脑上跑的小工具,都用.net 写,系统自带环境~
    tadtung
        20
    tadtung  
       2016-09-22 09:44:46 +08:00
    方法很多,, nodejs 其实更好,封装 exe 也简单。。。
    当然如果你不想上传到服务器,你可以自己在你电脑搭建,,没固定 ip 或者 80 端口的话,用动态域名就 ok 。。
    此外就是 usbwebserver ,你将 php 文件,放入 root 目录,,然后发给朋友,,让他本地运行,,之后浏览器打开 127.0.0.1 不就行了。
    hteen
        21
    hteen  
       2016-09-22 09:45:48 +08:00
    docker
    good758
        22
    good758  
       2016-09-22 10:11:33 +08:00
    改用世界上第三好的语言 nodejs
    nilai
        23
    nilai  
       2016-09-22 10:29:56 +08:00
    go 编译成 exe
    initpub
        24
    initpub  
       2016-09-22 11:49:13 +08:00
    最好的办法就是楼上说的, PHP EXE —— 相当于一个命令行的脚本,界面是纯文本的啦。楼主提到“打包成一个 exe 文件”,似乎还没有这种工具。
    arzusyume
        25
    arzusyume  
       2016-09-22 12:45:37 +08:00
    winRAR 可以做到打包成 exe + 运行指定脚本
    janxin
        26
    janxin  
       2016-09-22 13:06:35 +08:00 via iPhone
    php cli
    suconghou
        27
    suconghou  
       2016-09-22 14:05:44 +08:00
    分享一下原先收藏的 http://share.suconghou.cn/php/php54.exe
    wangxiaoer
        28
    wangxiaoer  
       2016-09-22 15:42:04 +08:00
    docker 是个框,啥都往里装
    shijingshijing
        29
    shijingshijing  
       2016-09-22 19:11:14 +08:00
    这种事情不是应该默默的打开 Excel ,然后 Alt + F11 么?

    本来是从一个房间里到另外一个房间里跟别人说一句话的事情,楼主实现的方式是坐了个飞机飞到美国,然后在美国给另外一个房间的人打了个国际长途来说这句话。
    aitaii
        30
    aitaii  
       2016-09-22 19:28:41 +08:00
    用 docker->搬两袋米开来了一辆卡车.
    hack
        31
    hack  
       2016-09-22 19:34:05 +08:00 via Android
    PHP cli
    yexiaoxing
        32
    yexiaoxing  
       2016-09-22 19:37:14 +08:00
    打包为自解压文件,里面包括 php cli
    lwjcjmx123
        33
    lwjcjmx123  
       2016-09-22 19:49:04 +08:00 via Android
    看到标题我就知道肯定有人要来安利 docker 的,果然,为嘛不用 docker
    jfcherng
        34
    jfcherng  
       2016-09-22 22:57:14 +08:00
    mingyun
        35
    mingyun  
       2016-09-22 23:25:42 +08:00
    @suconghou php 官网就有各个版本吧
    metowolf
        36
    metowolf  
       2016-09-22 23:53:41 +08:00
    帮朋友解决一个问题+用 PHP 实现=现在有两个问题了
    McContax
        37
    McContax  
       2016-09-22 23:54:36 +08:00 via Android
    我一看标题,联想下维基百科 docker 的解释。嗯,就 docker 了
    dangyuluo
        38
    dangyuluo  
       2016-09-23 01:01:51 +08:00
    当然是 docker 了
    qianmeng
        39
    qianmeng  
       2016-09-23 01:15:54 +08:00 via Android
    appserv.
    用过很不错
    lslqtz
        40
    lslqtz  
       2016-09-23 04:18:47 +08:00
    开始运行一个 Hello World 的破脚本,包含一个 php.exe ,只需要 php.exe 一个单文件。
    start.bat :
    php -r "echo 'hello,world.';"
    pause
    下面没了
    bobylive
        41
    bobylive  
       2016-09-23 04:28:36 +08:00 via Android
    php.exe 直接执行,写个批处理打包给朋友就好
    xiqingongzi
        42
    xiqingongzi  
       2016-09-23 07:32:56 +08:00 via Android   ❤️ 1
    你为啥不加个 web 界面,让他上传,处理后下载。。。省事省心。
    hiyouli
        43
    hiyouli  
       2016-09-23 08:19:06 +08:00
    我也有一堆要处理的 Excel 。
    楼主朋友有楼主这样的朋友真是棒棒哒!
    kzzhr
        44
    kzzhr  
       2016-09-23 08:49:13 +08:00 via Android
    想打包的都是什么心态。。
    我觉得楼主还是找点时间做个 low low 的页面,挂你服务器上让你同事直接
    顺便让你朋友多显摆显摆,以后说不定也有朋友的同事找你帮忙,挣钱不指望,搞几顿饭钱还是可以想想吧。
    ety001
        45
    ety001  
       2016-09-23 09:44:31 +08:00
    我就想知道楼主最后的方案是啥?
    leitwolf
        46
    leitwolf  
       2016-09-23 11:22:31 +08:00
    做这种小工具应该首选 go ,直接生成多平台可执行程序。
    tabris17
        47
    tabris17  
       2016-09-23 11:24:33 +08:00
    把 php 文件夹独立拷贝一份不就可以了么
    initpub
        48
    initpub  
       2016-09-23 12:11:19 +08:00
    @jfcherng 算你狠 :-) 这家伙把 PHP+Web+Browser 搞到一个 EXE 里面,有试用版,价格公道。
    alwayshere
        49
    alwayshere  
       2016-09-23 12:11:48 +08:00
    楼上的你们的网站都不用数据库么?个人觉得数据库配合迁移也是个问题
    0x00
        50
    0x00  
       2016-09-23 22:33:05 +08:00
    phar
    tairan2006
        51
    tairan2006  
       2016-09-23 23:00:46 +08:00
    用 VBA 啊…

    再不济用 python 也好一点
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2249 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 03:47 · PVG 11:47 · LAX 20:47 · JFK 23:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.