Linux 下的二进制 PHP 集成环境有用过的吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
skyworker
V2EX    PHP

Linux 下的二进制 PHP 集成环境有用过的吗?

  •  
  •   skyworker 2020-02-17 12:16:18 +08:00 4176 次点击
    这是一个创建于 2072 天前的主题,其中的信息可能已经有所发展或是发生改变。
    RT, 非 lnmp 那种 下载源码后编译安装 或 通过 apt/yum 安装的. 需要能直接运行的的集成环境(原因? 例如 linux 服务器是内网,无法下载源码或者 apt)

    zbox( http://devel.cnezsoft.com/page/zbox.html) 正好是我需要的, 不过内置的 PHP 和 mysql 版本太低(php7.2 以上, mysql5.7 以上), 所以暂时没法用
    16 条回复    2020-02-17 20:52:43 +08:00
    msg7086
        1
    msg7086  
       2020-02-17 12:39:02 +08:00
    你的意思是 docker 或者虚拟机吗。
    skyworker
        2
    skyworker  
    OP
       2020-02-17 12:47:34 +08:00
    也非 docker 或者虚拟化, 类似 zbox 那种, 下载后包含二进制的 PHP/Apache/Mysql 服务端, 直接运行即可
    salamanderMH
        3
    salamanderMH  
       2020-02-17 12:50:07 +08:00
    写个脚本就可以了吧,以前弄的 https://github.com/salamander-mh/LnmpShell

    现在也都用 docker 了
    manami
        4
    manami  
       2020-02-17 13:17:15 +08:00
    emm 推荐不用编译的 xampp。可以直接在 xampp 官网下载 linux 版本的.run 文件上传安装,比较新的 php 版本都有,一直在用我觉得很方便……
    https://www.apachefriends.org/index.html
    msg7086
        5
    msg7086  
       2020-02-17 13:18:10 +08:00   4
    二进制的程序都有依赖项,最少最少也要依赖 glibc,你要新版的软件环境,那自然要新版的 glibc,然而目标操作系统可能并没有这么新的版本,于是就造成了矛盾。

    那么解决这个问题也很简单,那就是把操作系统也集成在里面,自带 glibc,只要内核版本差异不太大( 3.2 到 5.4 都能跑),就可以跑起来。

    这种就是我们以前也经常用的 chroot 大法,用 debootstrap 把操作系统装在目录里面,然后在里面装上软件,打个包就能带走,解压 chroot 进去就能启动服务了。

    后来有个软件把这个东西又升级了一下,这个软件就是 docker 了。

    要在不用 docker 的情况下实现这样一个东西,大致上你就是在重新发明一遍 docker。
    zjsxwc
        6
    zjsxwc  
       2020-02-17 13:51:50 +08:00 via Android
    我选择默认的 apt 方式
    cabing
        7
    cabing  
       2020-02-17 13:55:54 +08:00
    前面都说了 docker

    写一个 docker 脚本。和你工作组的所有人都可以用。
    ipwx
        8
    ipwx  
       2020-02-17 14:02:49 +08:00
    docker 可以导出镜像为本地文件,然后再导入。你想办法在没联网的环境里面装好 Docker 引擎,然后你就可以用你随便啥机器制作一个 Docker 镜像,拷贝过去,就能用了。这是最简单的途径。不然有的你折腾的。
    yiran0
        9
    yiran0  
       2020-02-17 14:19:43 +08:00
    我还真这么干过,我当时的内网环境是 suse11,不升内核根本不用想什么 docker,软件源也没啥可用。我是一个个编译过去的,哎……现在想起来有种身在依赖地狱的感觉。不过如果你的系统版本足够好,软件源足够完全,可以在外面同环境 apt/yum 装一遍,同时下载依赖安装文件,放到里面安装就可以啦……
    hoyixi
        10
    hoyixi  
       2020-02-17 14:36:03 +08:00
    如果没有网络,使用 Linux 会是件非常痛苦的事情
    westoy
        11
    westoy  
       2020-02-17 14:47:33 +08:00
    他这个其实有一点问题,mysql 是多协议授权, 集成包里预打包 mysql binary 需要购买授权, 也就是说这种自带式集成包可能被 oracle 法务盯上, 当然你拿来用应该没什么问题......
    LokiSharp
        12
    LokiSharp  
       2020-02-17 15:49:41 +08:00
    用 CentOS 然后用最新的完整镜像做个源就好了
    iyaozhen
        13
    iyaozhen  
       2020-02-17 16:35:41 +08:00   1
    这都是上个世纪的做法了
    如果你们系统统一自己做个自动安装脚本就行,可以编译的依赖时候固定目录,这样就可以二进制文件到处 copy 了
    zjyl1994
        14
    zjyl1994  
       2020-02-17 18:55:37 +08:00
    docker 就行了,可以自己搭建内网的 docker 镜像,从公网下了 docker 镜像弄进去就行了
    fox0001
        15
    fox0001  
       2020-02-17 19:36:55 +08:00 via Android
    @zjyl1994 #14 赞成~

    或者下载安装包,拷贝到服务器上执行安装
    berrx
        16
    berrx  
       2020-02-17 20:52:43 +08:00
    homestead?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2822 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 14:34 PVG 22:34 LAX 07:34 JFK 10:34
    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