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

PHP 编译器 BPC 6.1 发布,支持 event 扩展,新官网上线,可在线编译

  •  1
     
  •   heguangyu5 · 2023-05-15 14:06:18 +08:00 · 1851 次点击
    这是一个创建于 540 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不了解 BPC 是什么的可以翻看之前的帖子.

    简言之,BPC 可以将 PHP 代码最终转译成 C 语言,然后编译成动态链接库或者可执行程序,实现 PHP Native AOT.

    how BPC works

    6.1 版本有两个亮点:

    1. 实现了 event (core)扩展

    有了 event 扩展,类似 workerman 之类的项目就可以应用到生产环境了.

    2. 新官网 Try it online (BPC Playground)

    新版官网 https://bpc.dev 可以在线体验 BPC 编译器.

    为减小最终可执行文件的大小,默认编译器只链接了标准库,如果代码中用到了其它扩展,需要勾选上对应的扩展.不然肯定会报 Call to undefined function xxx() ...

    为了进一步减小下载文件的大小,对可执行文件做了 gzip 压缩,下载回来后需要解压后才能运行.

    BPC Playground

    11 条回复    2023-05-18 14:21:21 +08:00
    dw2693734d
        1
    dw2693734d  
       2023-05-15 14:08:23 +08:00
    good, good, best language in the universe
    CodeCodeStudy
        2
    CodeCodeStudy  
       2023-05-15 14:14:23 +08:00
    编译成机器码,用来保护源码?
    jason56
        3
    jason56  
       2023-05-15 15:29:50 +08:00
    未来会考虑加入 swoole 扩展吗
    heguangyu5
        4
    heguangyu5  
    OP
       2023-05-15 15:54:13 +08:00
    @CodeCodeStudy 是的,第一目的就是源码保护
    heguangyu5
        5
    heguangyu5  
    OP
       2023-05-15 15:55:39 +08:00
    @jason56 虽然理论上可行,短期内比较困难,我们自身也没有 swoole 的相关需求.
    jason56
        6
    jason56  
       2023-05-15 16:04:08 +08:00
    @heguangyu5 期待可以支持 swoole
    wslsq
        7
    wslsq  
       2023-05-15 16:08:45 +08:00
    支持大佬
    happy11
        8
    happy11  
       2023-05-18 07:12:24 +08:00 via iPhone
    加油 要是 workerman 完美支持就够我用了
    lifeintools
        9
    lifeintools  
       2023-05-18 08:10:46 +08:00
    大佬牛逼
    heguangyu5
        10
    heguangyu5  
    OP
       2023-05-18 08:20:25 +08:00
    @happy11 应该问题不大.

    因为最近公司有个项目需要在线聊天,调研了一圏决定用 GatewayWoker,所以才实现了 event 扩展,之前没解决的一些小问题也都解决了,本地开发测试过程中还没有发现什么问题,下个月项目就会上线.

    等项目上线运行稳定了,会写个文章详细介绍下 workerman 和 GatewayWorker 的编译和应用.

    另外, https://bpc.dev 上 BPC Playground 连接的 online compiler 其实就是用 wokerman 实现的一个 websocket server, BPC 静态编译的,不是用 php 运行的.
    happy11
        11
    happy11  
       2023-05-18 14:21:21 +08:00 via iPhone
    希望到时收费便宜点,PHP 也就缺个好用不贵的源码加密方式了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3191 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:35 · PVG 20:35 · LAX 04:35 · JFK 07:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.