heguangyu5 最近的时间轴更新
heguangyu5

heguangyu5

🏢  云招科技 / PHP
V2EX 第 159374 号会员,加入于 2016-02-18 14:10:24 +08:00
今日活跃度排名 14264
PHP 编译器 BPC 编译实战: workerman/GatewayWorker
  •  2   
    PHP  •  heguangyu5  •  106 天前  •  最后回复来自 happy321
    28
    PHP 编译器 BPC 6.1 发布,支持 event 扩展,新官网上线,可在线编译
  •  1   
    PHP  •  heguangyu5  •  127 天前  •  最后回复来自 happy11
    11
    PHP 编译器 BPC 5.0 发布了
    PHP  •  heguangyu5  •  348 天前  •  最后回复来自 lyhiving
    24
    PHP 编译器 BPC 可以下载试用了!
    PHP  •  heguangyu5  •  2022-09-21 13:42:01 PM  •  最后回复来自 heguangyu5
    8
    PHP 编译器 BPC 新里程碑达成: 可以编译 web 应用了!
  •  1   
    PHP  •  heguangyu5  •  2022-06-08 16:15:20 PM  •  最后回复来自 rekulas
    27
    PHP 编译器 BPC 的第一个成功案例来了!
  •  1   
    PHP  •  heguangyu5  •  2022-02-26 16:49:08 PM  •  最后回复来自 heguangyu5
    11
    heguangyu5 最近回复了
    @JaguarJack 不明白单文件是什么意思.现在的编译结果就是一个可执行文件,只是不同平台 link 的基础类库稍有不同.
    @haha512 上传的文件还在 wp-content/uplaods/ 目录下,静态 html 如果是事先生成的,可以直接编译到二进制里,如果是运行期间动态生成的,原来放哪儿还放哪儿.

    BPC 并不改变 PHP 代码的运行逻辑,只是编译成二进制后,原来你要 scandir 来看安装了哪几个主题,glob 来看安装了哪些语言包,这些逻辑肯定要调整.
    @zekeluii 编译 laravel 够呛,目前 BPC 还不支持 trait.
    @cwcc 并且转换出来的.scm 和.c 都是可查看的. 另外基于 scheme,写 PHP 扩展容易多了.
    @CodeCodeStudy 是的,彻底改变 PHP 项目的交付方式. 单就 wordpress 而言,插件和主题也可以以.so 的方式交付.
    @millken BPC 不支持跨平台编译,这只是实现时的简化选择而已.

    BPC 将 php 编译成 bigloo scheme,而 bigloo scheme 是支持多平台并且能够 Cross Compilation 的.如果愿意,肯定是能做到的,但目前还没到那个阶段.

    1. http://www-sop.inria.fr/indes/fp/Bigloo/index.html
    2. http://www-sop.inria.fr/indes/fp/Bigloo/manual-chapter33.html
    @jry 所以这时间有测试用例保障是非常重要的.一个黑盒子,给定同样的输入,给出同样的输出,内部怎么改都没什么可怕的.要是没有完善的测试用例,做起来心里肯定不踏实.
    @happy321 BPC 也是重新实现了每一个扩展,只不过扩展开发简单一些,并且还有 php 扩展源码做参考.

    BPC 不以性能为第一目标,能和 php 持平就可以了,但和 php 的兼容性一定要高,这样能在 php 环境下做开发调试,只是发布时拿 BPC 编译一下.
    @mrpzx001 BPC 的核心目标是两个,一是源码保护,二是软件授权.

    另外 BPC 重新实现了 php 的 runtime 和每一个扩展函数,部署出去时,服务器上是没有 php 运行环境的,就相当于是 C 写的程序,只不过是 php 转译的.但是从外部看,所有表现都很像 php.
    @learningman

    没有尝试编译过,但应该没问题. 插件可以编译成一个个的.so, 然后调用 dl()函数加载进来.
    因为 BPC 的目标是源码保护,而不是性能,所以 php 的动态特性该有的都实现了.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2601 人在线   最高记录 5930   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:13 · PVG 23:13 · LAX 08:13 · JFK 11:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.