部署 PHP 应用,通常要先准备一套运行环境;TypePHP 想把这件事变得更像分发普通软件:把 PHP 源码直接做成可执行文件、PHP 扩展或共享库。项目单日新增 188 星,快速上榜也说明,部署体积和启动性能仍是社区关心的真问题。
它采用 AOT(Ahead-Of-Time,运行前编译):先把 PHP 转成 C++17,再生成 CPU 可直接执行的原生机器码。这样,编译后的用户函数不再交给 Zend VM——传统 PHP 中负责解释中间指令的运行层——执行,也不需要等待 JIT 预热。TypePHP 还利用编译阶段提供的类型信息,为部分代码生成静态类型的 C++。
一个颇特别的细节是,编译器本身完全用 PHP 编写,并能把自己的源码编译成原生版 tpc。不过它仍在积极开发,只支持一组明确、可测试的 PHP 子集,并不承诺现有动态 PHP 程序可以直接迁移。