不了解 BPC 是什么的可以翻看之前的帖子.
简言之,BPC 可以将 PHP 代码最终转译成 C 语言,然后编译成动态链接库或者可执行程序,实现 PHP Native AOT.
6.1 版本有两个亮点:
有了 event 扩展,类似 workerman 之类的项目就可以应用到生产环境了.
新版官网 https://bpc.dev 可以在线体验 BPC 编译器.
为减小最终可执行文件的大小,默认编译器只链接了标准库,如果代码中用到了其它扩展,需要勾选上对应的扩展.不然肯定会报 Call to undefined function xxx() ...
为了进一步减小下载文件的大小,对可执行文件做了 gzip 压缩,下载回来后需要解压后才能运行.
1
dw2693734d 2023-05-15 14:08:23 +08:00
good, good, best language in the universe
|
2
CodeCodeStudy 2023-05-15 14:14:23 +08:00
编译成机器码,用来保护源码?
|
3
jason56 2023-05-15 15:29:50 +08:00
未来会考虑加入 swoole 扩展吗
|
4
heguangyu5 OP @CodeCodeStudy 是的,第一目的就是源码保护
|
5
heguangyu5 OP @jason56 虽然理论上可行,短期内比较困难,我们自身也没有 swoole 的相关需求.
|
6
jason56 2023-05-15 16:04:08 +08:00
@heguangyu5 期待可以支持 swoole
|
7
wslsq 2023-05-15 16:08:45 +08:00
支持大佬
|
8
happy11 2023-05-18 07:12:24 +08:00 via iPhone
加油 要是 workerman 完美支持就够我用了
|
9
lifeintools 2023-05-18 08:10:46 +08:00
大佬牛逼
|
10
heguangyu5 OP @happy11 应该问题不大.
因为最近公司有个项目需要在线聊天,调研了一圏决定用 GatewayWoker,所以才实现了 event 扩展,之前没解决的一些小问题也都解决了,本地开发测试过程中还没有发现什么问题,下个月项目就会上线. 等项目上线运行稳定了,会写个文章详细介绍下 workerman 和 GatewayWorker 的编译和应用. 另外, https://bpc.dev 上 BPC Playground 连接的 online compiler 其实就是用 wokerman 实现的一个 websocket server, BPC 静态编译的,不是用 php 运行的. |
11
happy11 2023-05-18 14:21:21 +08:00 via iPhone
希望到时收费便宜点,PHP 也就缺个好用不贵的源码加密方式了
|