V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
cwcc
V2EX  ›  分享创造

继上次开发了静态编译 PHP cli 脚本后,又加入了可以把 PHP 代码也一起打包成单个二进制的功能

  •  
  •   cwcc · 2022-05-16 17:04:44 +08:00 · 2228 次点击
    这是一个创建于 904 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://github.com/crazywhalecc/static-php-cli

    编译出来的 php 二进制( cli )可以直接在不同的 linux 系统下运行,免去安装各种依赖包的问题。

    现在配合 micro 项目,可以做到 PHP 代码和静态编译的 PHP 二进制结合,也就是将 PHP 项目或文件打包为一个整体进行分发。

    未来打算再弄一个 CLI 打包 PHAR 打包成单文件的模板项目,配合静态编译本项目,就是直接 project-phar-elf ,可以用 PHP 写和分发 Linux 程序了。
    第 1 条附言  ·  2022-06-04 14:50:58 +08:00
    @star7th 关于 1 ,我已经完成了一个简易的打包项目,可以打包为一个单独的可解析的 phar 文件,https://github.com/crazywhalecc/php-cli-helper
    8 条回复    2022-05-20 09:00:05 +08:00
    xiaoyanbot
        1
    xiaoyanbot  
       2022-05-16 17:49:02 +08:00
    支持, 很赞
    xinyana
        2
    xinyana  
       2022-05-17 00:54:52 +08:00 via Android
    牛 xxxxx
    cxz2998
        3
    cxz2998  
       2022-05-17 10:27:10 +08:00
    大佬🐮 支持一波
    ywisax
        4
    ywisax  
       2022-05-17 21:56:54 +08:00
    这个是真的牛啊。如果有商业支持的话,不会比 swoole 差
    yqf0215
        5
    yqf0215  
       2022-05-19 08:29:29 +08:00
    star7th
        6
    star7th  
       2022-05-19 17:43:02 +08:00
    很支持的项目!对开源项目的分发非常有帮助 。要在实际环境中用起来,可能还得有配套方案解决以下问题:

    1 ,如何把一个 php 项目打包成单文件
    2 ,如果通过纯命令行的方式起 http server 并且能解析 php
    3 ,要守护进程,能故障重启, 以增强程序稳定性
    cwcc
        7
    cwcc  
    OP
       2022-05-20 06:36:07 +08:00
    @star7th

    php 项目打包成单文件可以配合先将项目打包成 phar+入口文件的形式,然后与 phar 结合,就像 composer.phar 那样( composer 其实本质上就是一个能执行的 phar 项目)。打包成单文件目前可以有,以后会考虑加。

    这里仅限 cli 模式,所以起 http server 应该是项目自己的事,无法打包 fpm ( fcgi )项目,更适合与 swoole 等项目利用,打包后也不需要再额外解析其他 PHP 文件。

    守护进程和故障重启也是同理,应该是自己选择使用的开发框架做的,和本项目无关了。
    star7th
        8
    star7th  
       2022-05-20 09:00:05 +08:00
    @cwcc 我理解我说的这些东西跟你的项目无关。但实际要用起来,就是需要我说的这些功能。而你的项目要推广开来也是需要别人先做好这些才能用。如果配套生态搞不定,你的项目估计实际用户也很少的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3078 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:43 · PVG 21:43 · LAX 05:43 · JFK 08:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.