如何打包 php 网站以便 [方便地] 在其他电脑运行? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gdtv
V2EX    PHP

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

  •  
  •   gdtv 2016-09-22 01:34:32 +08:00 7067 次点击
    这是一个创建于 3311 天前的主题,其中的信息可能已经有所发展或是发生改变。
    朋友要帮公司处理一堆 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  
    PRO
       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
    angxiaoer
        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     Solana     3470 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 10:35 PVG 18:35 LAX 03:35 JFK 06:35
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86