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

2023-08-29 12:21:46 +08:00
 heguangyu5

废话少说,先上 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.

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

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

但是在当前环境下,PHP 可能受众不大了
lemonda
2023-08-29 17:32:52 +08:00
有点好玩,这样 WP 不怕被黑了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/969142

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX