爱意满满的作品展示区。
cwcc

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

  •  
  •   cwcc · May 16, 2022 · 2874 views
    This topic created in 1532 days ago, the information mentioned may be changed or developed.
    https://github.com/crazywhalecc/static-php-cli

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

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

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

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

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

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

    守护进程和故障重启也是同理,应该是自己选择使用的开发框架做的,和本项目无关了。
    star7th
        8
    star7th  
       May 20, 2022
    @cwcc 我理解我说的这些东西跟你的项目无关。但实际要用起来,就是需要我说的这些功能。而你的项目要推广开来也是需要别人先做好这些才能用。如果配套生态搞不定,你的项目估计实际用户也很少的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3908 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 00:56 · PVG 08:56 · LAX 17:56 · JFK 20:56
    ♥ Do have faith in what you're doing.