• 请不要在回答技术问题时复制粘贴 AI 生成的内容
liqinliqin
58.52D
V2EX  ›  程序员

PHP Native AOT 编译器,支持将 PHP 代码编译为可执行文件,运算性能提高 150 倍

  •  
  •   liqinliqin ·
    PRO
    ·
    smartarduino · Apr 23 · 3936 views
    This topic created in 201 days ago, the information mentioned may be changed or developed.
    Swoole-Compiler v4 版本推出 Native AOT(Ahead-of-Time) 编译器,将彻底改写这一现状。AOT 编译器突破了 PHP 传统的解释执行模式,支持将 PHP 代码直接编译为原生二进制可执行文件。运算性能相比传统 PHP 解释器提升高达上百倍,性能表现已达到 Rust 、Golang 等现代编译型语言的同一水平线。

    https://mp.weixin.qq.com/s/05I3xe4pgRJufSBG-8Gz6w
    Supplement 1  ·  Apr 23
    Swoole-Compiler AOT 编译器已实现 PHP 语言自举

    概述
    Swoole-Compiler AOT 编译器除了性能优势之外,在工程实践上还有一个非常值得自豪的一点是:AOT 编译器从 1.0 版本开始就已经是完全自举( bootstrapping / self-hosting )的了。

    AOT 编译器本身是使用纯 PHP 代码开发,这与 HHVM 和 KPHP 、peachpie 等截然不同。HHVM 和 KPHP 是完全使用 C++开发的,而 Peachpie 则使用了 C#。

    Swoole-Compiler AOT 编译器的第一个版本使用了 Zend PHP 进行测试和验证,在项目开发完成后,则使用自身编译生成了第一个版本。

    https://mp.weixin.qq.com/s/a6XzFupPRcl9TvWXAv1Syg?scene=1&click_id=10
    24 replies  •  2026-04-23 19:57:27 +08:00
    lol173
    lol173
    Apr 23
    1
    希望 PHP 越来越好
    liqinliqin
    liqinliqin
    OP
    PRO
    Apr 23
    2
    是的,现在基本和 Go 差不多的性能了
    elevioux
    elevioux
    Apr 23
    3
    啊,good old php 。在都是讨论 AI 的时代,看到这些项目突然有种“清新”的感觉。
    lisxour
    lisxour
    Apr 23❤️3
    4
    看了一下,太拉了,他又不是自己实现而是调库实现,因此他说的那些兼容性问题,要么你自己改代码,要么让 PHP 改进,就这两点就限制了没法铺开使用场景。我以前使用过 peachpie ,也是一言难尽。

    看似只有 8 条限制,但是都不知道杀死多少框架了

    mywaiting
    mywaiting
    Apr 23
    5
    邪修啊,一个动态脚本语言,能编译为二进制执行,多少有点像是在说梦话
    strobber16
    6
    这种东西只会越来越没有市场。AI 一键重写的成本不比你去适配一个动态特性受限的非标方言的成本低
    phpsarc55
    phpsarc55
    Apr 23
    7
    @lisxour 赞同你的说法,单是这个语法兼容性问题就几乎抹杀了 PHP 的优势。
    ====================================分割线=================================
    老项目的话就我个人感觉改造成本太大了,如果要是新项目需要高性能为啥不选择性能更高的语言,PHP+要选一个不成熟的,对 PHP 支持度不高的 Swoole-Compiler V4?
    javalaw2010
    8
    哎,且不论 AI 时代,这种特性大家还会不会轻易尝试,哪怕古法编程,这种东西放到线上之后出问题了,和本地表现不一致,你是怀疑编译器有问题呢,PHP 底层有问题呢,还是你自己的代码有问题呢,查都没法查。
    liaohongxing
    9
    豆腐盘成肉 ,换 go 解千愁
    aonshuy
    aonshuy
    Apr 23 via Android
    10
    我记得很久以前 Facebook 干过这事
    SimbaPeng
    SimbaPeng
    Apr 23
    11
    不伦不类
    Jack66
    Jack66
    Apr 23
    12
    花边新闻,出现问题及解决成本,不如新学 golang ,趋利避害
    jingrui
    jingrui
    Apr 23
    13
    诶 Swoole 这步棋走晚了
    keepfun
    keepfun
    Apr 23 via Android
    14
    有一种被人赶超之后等过一阵子又开始发力的感觉,曾经的老人已经改换门庭了,新人直接无视。多好的语言啊,真是英雄迟暮。
    langhuishan
    15
    帮我这这个 PHP 项目改写成 golang 。等待 3 分钟,搞定
    mangobeta
    mangobeta
    Apr 23
    16
    感觉在当前时间节点,这些改进没啥意义
    lmmlwen
    lmmlwen
    Apr 23
    17
    可惜了啊
    iorilu
    iorilu
    Apr 23
    18
    @langhuishan 确实, 真有这需求, 直接让 ai 改写成 go 拉到

    新项目当然直接用 go
    FrankAdler
    FrankAdler
    Apr 23 via Android
    19
    不是 100%兼容,就上不了生产,废大功夫改造不如直接用 go
    liuliuliuliu
    20
    不如试试 PeachPie ?

    PeachPie Compiler
    Compile and run PHP on top the modern, secure and highly performant .NET runtime.

    Get Started Try Online
    https://try.peachpie.io/
    GodVan
    GodVan
    Apr 23
    21
    纯舍近求远,直接换 go 就行了
    liqinliqin
    liqinliqin
    OP
    PRO
    Apr 23
    22
    Swoole-Compiler AOT 编译器除了性能优势之外,在工程实践上还有一个非常值得自豪的一点是:AOT 编译器从 1.0 版本开始就已经是完全自举( bootstrapping / self-hosting )的了。AOT 编译器本身是使用纯 PHP 代码开发,这与 HHVM 和 KPHP 、peachpie 等截然不同。HHVM 和 KPHP 是完全使用 C++开发的,而 Peachpie 则使用了 C#。Swoole-Compiler AOT 编译器的第一个版本使用了 Zend PHP 进行测试和验证,在项目开发完成后,则使用自身编译生成了第一个版本。
    nc
    nc
    Apr 23
    23
    Go 用标准库就能写完整的 Web 应用,phper 切换到 Go 不要太舒服,不要执着于 php 了。
    pooaer
    pooaer
    Apr 23 via Android
    24
    新项目不怎么使用 PHP 了吧,维护这个 AOT 编译器的人真是情怀啊!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1607 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 16:25 · PVG 00:25 · LAX 08:25 · JFK 11:25
    ♥ Do have faith in what you're doing.