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

PHP 编译器 BPC 6.3 发布,支持 mysqli 扩展,成功编译 wordpress,来体验一下单文件版的 wordpress 吧!

  •  
  •   heguangyu5 · 2023-08-29 12:21:46 +08:00 · 1866 次点击
    这是一个创建于 450 天前的主题,其中的信息可能已经有所发展或是发生改变。

    废话少说,先上 wordpress 的下载链接:

    https://github.com/heguangyu5/bpc-wordpress-6.2.2-zh_CN/releases

    3 个可执行文件,分别可以在 Ubuntu 18.04 / 20. 04 / 22.04 上直接运行.

    其中 wordpress-althttpd-ubuntu-22.04-amd64 补上两个缺失的类库也可以在 Debian 12 上运行.

    详见 README.md

    主要功能如: 文章,媒体,页面,评论,外观(主题切换),用户,设置(语言切换) 都可用.

    关于 BPC

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

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

    how BPC works

    14 条回复    2023-08-29 17:32:52 +08:00
    CodeCodeStudy
        1
    CodeCodeStudy  
       2023-08-29 15:20:22 +08:00
    那就是可以直接发可执行文件给客户,而不需要给客户源码咯
    xbchaonba
        2
    xbchaonba  
       2023-08-29 15:23:28 +08:00
    厉害
    barbery
        3
    barbery  
       2023-08-29 15:25:09 +08:00
    还停留在 zend 的加密时代 没想到居然还可以这么操作
    cwcc
        4
    cwcc  
       2023-08-29 15:29:57 +08:00
    核心应该就是将 PHP 代码转换为 scheme ,确实是个很好的思路!
    heguangyu5
        5
    heguangyu5  
    OP
       2023-08-29 15:34:51 +08:00
    @CodeCodeStudy 是的,彻底改变 PHP 项目的交付方式. 单就 wordpress 而言,插件和主题也可以以.so 的方式交付.
    zekeluii
        6
    zekeluii  
       2023-08-29 15:37:21 +08:00
    支援 laravel 嗎?
    heguangyu5
        7
    heguangyu5  
    OP
       2023-08-29 15:37:31 +08:00
    @cwcc 并且转换出来的.scm 和.c 都是可查看的. 另外基于 scheme,写 PHP 扩展容易多了.
    JaguarJack
        8
    JaguarJack  
       2023-08-29 15:42:49 +08:00
    支持单文件吗
    heguangyu5
        9
    heguangyu5  
    OP
       2023-08-29 15:43:45 +08:00
    @zekeluii 编译 laravel 够呛,目前 BPC 还不支持 trait.
    haha512
        10
    haha512  
       2023-08-29 15:44:48 +08:00
    上传图片、文件然后保存到服务器,还有生成静态 html 文件,这种是怎么处理的?
    heguangyu5
        11
    heguangyu5  
    OP
       2023-08-29 15:53:37 +08:00
    @haha512 上传的文件还在 wp-content/uplaods/ 目录下,静态 html 如果是事先生成的,可以直接编译到二进制里,如果是运行期间动态生成的,原来放哪儿还放哪儿.

    BPC 并不改变 PHP 代码的运行逻辑,只是编译成二进制后,原来你要 scandir 来看安装了哪几个主题,glob 来看安装了哪些语言包,这些逻辑肯定要调整.
    heguangyu5
        12
    heguangyu5  
    OP
       2023-08-29 15:56:42 +08:00
    @JaguarJack 不明白单文件是什么意思.现在的编译结果就是一个可执行文件,只是不同平台 link 的基础类库稍有不同.
    zuston
        13
    zuston  
       2023-08-29 16:22:20 +08:00
    很棒!

    但是在当前环境下,PHP 可能受众不大了
    lemonda
        14
    lemonda  
       2023-08-29 17:32:52 +08:00
    有点好玩,这样 WP 不怕被黑了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2985 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 14:01 · PVG 22:01 · LAX 06:01 · JFK 09:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.