V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  heguangyu5  ›  全部回复第 2 页 / 共 5 页
回复总数  81
1  2  3  4  5  
303 天前
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 编译实战: workerman/GatewayWorker
@0o0O0o0O0o

今年是 BPC 编译器开发的第三年,如果不想着追赶 PHP 版本升级的话,编译器自身已经相当稳健了.
BPC 的重点在于它改变了 PHP 项目的交付方式,完善解决了源码保护和软件授权的问题.

@veike

我个人是非常喜欢 PHP Scheme 这种弱类型语言的,对强类型语言没什么兴趣.
再说做一个项目只是单纯玩玩很难持续下去.BPC 即使不推广商用,仅在我们公司内部,也有足够的应用场景,这样才能持续搞下去.
304 天前
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 编译实战: workerman/GatewayWorker
@Echoldman 因为当时刚开始开发 BPC 的时候,用的是 ubuntu 18.04,而 ubuntu 18.04 上默认的 php 版本就是 php 7.2.19.
304 天前
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 编译实战: workerman/GatewayWorker
@lifeintools 所以源码保护的需求是有的,BPC 转译的方案可以 100%保护源码,license 机制可以实现强有力的软件授权.

我们自己也正是有这样的需求,才开发了 BPC.

当然 BPC 和 PHP 只能做到高度兼容,不能 100%兼容,毕竟 BPC 相当于重新实现了 PHP.
304 天前
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 编译实战: workerman/GatewayWorker
@IdJoel 10 多年前就有人说我们公司是个皮包公司,过不了几天就挂了,现在我们还活的好好的,他们却挂了.

另外大企业有法务,人家不需要这东西.
304 天前
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 编译实战: workerman/GatewayWorker
@IdJoel 也不知道 zend guard, ioncube, swoole compiler 有没有客户
@happy11 应该问题不大.

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

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

另外, https://bpc.dev 上 BPC Playground 连接的 online compiler 其实就是用 wokerman 实现的一个 websocket server, BPC 静态编译的,不是用 php 运行的.
@jason56 虽然理论上可行,短期内比较困难,我们自身也没有 swoole 的相关需求.
@CodeCodeStudy 是的,第一目的就是源码保护
350 天前
回复了 sbldehanhan 创建的主题 Linux Linux 内核该怎么学啊?
我多年前过了一遍 linux 内核从加载到 init 进程启动的代码,做了一些笔记,供参考.

http://heguangyu5.github.io/my-linux/html/index.html

虽然当时不是所有地方都搞明白了,但之后操作系统,进程,线程,内存,epoll 什么的,都不再神秘了.
2023-02-02 10:59:51 +08:00
回复了 cosmain 创建的主题 PHP 有快速学习 PHPUnit 的教程吗?
之前我写过一本电子书 <<PHPUnit in Action --- The Easy Way>>, 供参考.

https://www.zhihu.com/column/c_1269564826948546560
2022-11-25 11:59:28 +08:00
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 6.0 发布,支持 namespace,支持 closure,成功编译 workerman
@lisxour

1. bpc.dev 用的是 Let's Encrypt 证书,我这边 Chromium/Firefox 都 OK,是哪个报 NET::ERR_CERT_COMMON_NAME_INVALID?
2. 如果你亲自动手试一下的话,就会看到每次编译都会有一个.bpc-build-PID 的目录,里边有 bpc 生成的 scheme 代码,编译时加上相应参数也能看到 scheme 进一步生成的 c 代码,何来魔改 php-src?
3. 关于兼容性,BPC 直接跑的是 php 的 phpt 测试,并且对 phpt 的更改必须在一个白名单中,参看 https://github.com/bob-php-compiler/bpc-php-7.2.19-tests
2022-11-25 09:17:07 +08:00
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 6.0 发布,支持 namespace,支持 closure,成功编译 workerman
@AngryPanda 开源了会有另外一堆人说别的.

其实你可以知道里面干了啥的,第一步转译出的 scheme 代码是可读的.
2022-11-25 09:14:50 +08:00
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 6.0 发布,支持 namespace,支持 closure,成功编译 workerman
@xiaotianhu 可能是你本地网络的问题,服务器不在国内.
2022-11-25 09:13:29 +08:00
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 6.0 发布,支持 namespace,支持 closure,成功编译 workerman
@ywisax
@haha512

由于 PHP opcode 可反编译的问题,要想真正保护源码就必须脱离 Zend 引擎.
静态编译一个 PHP 并不是什么麻烦事,使用 PHP embed 都可以把 PHP 嵌入 C 程序,我们自己的项目也把 PHP 静态编译成.a 嵌入 vala 来做一些事情.

不管是国际化还是国内化,还都没有展开做,我们有自己的项目,先把自己的项目做好,再说别的.
2022-10-26 08:08:56 +08:00
回复了 linuxgo 创建的主题 Linux Linux 下的 svn 客户端,除了 kdesvn,还有其他好用的推荐吗
2022-09-30 12:44:34 +08:00
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 5.0 发布了
@sadfQED2 商业化还没启动,公司目前也没有明确要求,所以当前感兴趣就让试用.tar 包里是有一个 license 的,只有几天的有效期,过期后只要发邮件给我们,在明确商业化策略前,都会给短期的试用 license.

如果你有好的想法,可以找我们公司 CEO 或者 CTO 聊聊.
2022-09-30 12:11:42 +08:00
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 5.0 发布了
@ly841000 也可以用 kphp 把 php 转成 c++ https://github.com/VKCOM/kphp
2022-09-30 12:10:47 +08:00
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 5.0 发布了
@sadfQED2

1. 开不开源不是问题,闭源编译器有很多,另外做源码保护的 ionCube,Swoole Compiler 都是闭源的.
2. 后续版本是否跟进不好说,目前 target 在 php7.2 是我们自己的需求,由于 bpc 完全脱离 zend,如果愿意搞,我们可以弄出一个新语言来.就像 hacklang.
3. 本地部署不给客户服务器密码对我们来说不行,再说硬件都在客户那里,想看机器里的东西办法多了去了.
2022-09-30 11:59:26 +08:00
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 5.0 发布了
2022-09-30 11:14:19 +08:00
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 5.0 发布了
@leo108

这个项目目前不打算开源,只能 release 二进制了.

看来我 wiki 写的还不错?

不要看到编译器就想着牛逼,就是很朴素的转译,不是一步到二进制的,php 到 scheme 到 c 的代码都是可见的.

目前由于还缺少一些关键特性比如 namespace 没实现,所以很多项目即使想用也用不起来.
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5228 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 09:39 · PVG 17:39 · LAX 02:39 · JFK 05:39
Developed with CodeLauncher
♥ Do have faith in what you're doing.