登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端 ...
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
[ 复制链接 ]
杠氯
2026-3-1 10:00:18
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
OpenSwoole 26.2.0 是一次重大版本更新,带来了 PHP 8.5 支持、原生 PHP Fiber 协程上下文、io_uring 事件驱动后端、协程内 Xdebug 断点调试、事件循环延迟指标等功能。
升级方式
通过 PECL 安装:
pecl install openswoole-26.2.0
复制代码
或使用 Docker 镜像:
docker pull openswoole/openswoole:26.2-php8.5-alpine
复制代码
新特性
PHP 8.5 支持
OpenSwoole 26.2.0 完全兼容 PHP 8.5,支持管道操作符、URI 扩展、Clone With 等新特性。
PHP 原生 Fiber 协程上下文
新增基于 PHP 原生 zend_fiber API 的协程上下文后端,替代 Boost ASM 或 ucontext。该实现支持与 Xdebug、性能分析器及 Fiber 感知扩展的正确集成。
运行时启用:
Co::set(['use_fiber_context' => true]);
复制代码
或通过 INI 配置:openswoole.use_fiber_context=On
协程内 Xdebug 断点调试
启用 Fiber 上下文后,Xdebug 断点调试可在协程内正常工作。此前版本中"极其危险"的警告提示已被移除。
运行时选择事件驱动后端
支持在运行时选择事件驱动后端。
Co::set(['reactor_type' => OPENSWOOLE_IO_URING]);
复制代码
新增常量:OPENSWOOLE_EPOLL、OPENSWOOLE_KQUEUE、OPENSWOOLE_POLL、OPENSWOOLE_SELECT、OPENSWOOLE_IO_URING
io_uring 事件驱动后端
新增基于 Linux io_uring 的事件驱动实现,使用 IORING_OP_POLL_ADD 作为 epoll 的替代方案。编译时需启用 --enable-io-uring(依赖 liburing)。内核 5.13+ 支持 multishot poll,旧内核自动回退。
io_uring 异步文件 I/O 引擎
专用 io_uring 环形缓冲区处理异步文件操作(open、read、write、fstat、fsync、unlink、rename、mkdir、rmdir),替代线程池方案。不支持的操作用优雅回退至线程池。
事件循环延迟指标
通过 $server->stats() 实现实时事件循环延迟监控。按工作进程、任务进程(启用协程时)及 Reactor 线程(进程模式)暴露 event_loop_lag_ms、event_loop_lag_max_ms、event_loop_lag_avg_ms 指标。适用于检测阻塞操作导致的事件循环停滞。
协程安全的 exit() 支持
PHP 8.4+ 上,协程内的 exit() 调用会被拦截并抛出 openswoole_exit_exception,防止整个进程终止。
HTTP 解析器迁移至 llhttp
将自定义 openswoole_http_parser 替换为 llhttp 解析器,提升标准兼容性与性能。
Bug 修复
修复反射问题与作用域泄漏(#284):OSW_FUNCTION_ALIAS 导致全局函数在反射中显示为类方法且返回类型损坏,已替换为正确的 PHP_FE/PHP_FALIAS 条目
修复 io_uring 下文件 I/O 挂起:排空与重新武装 single-shot POLL_ADD 之间可能丢失 eventfd 通知的竞态条件
修复文件锁 Bug:非阻塞 flock(LOCK_NB)现会在系统调用前正确检查进程内协程锁状态
修复 CPU 亲和性编译检查:在 sched.h 前添加缺失的 _GNU_SOURCE 定义
修复 futex 编译检查:在 linux/futex.h 前添加缺失的 _GNU_SOURCE 定义
破坏性变更
移除 PHP 8.2 支持(最低要求 PHP 8.3)
移除 PHP < 8.0 兼容代码
命名空间规范化:openswoole_*
升级
如需安装 OpenSwoole 或查看其他更新方式,请参考 安装文档 与 更新指南。
安装核心库:
composer require openswoole/core:26.2.0
复制代码
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
OpenSwoole
发布
支持
PHP
io
相关帖子
当你的 PHP 网站一天内流量增长 10 倍时,会发生什么?
[拆解LangChain执行引擎]支持自然语言查询的长期存储
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
ManimCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升
BIO详解:解锁阻塞IO的使用方式
为什么 PHP 闭包要加 static?
杨辉三角原理及PHP代码实现
PHP 的异步编程 该怎么选择
让OpenClaw替我“看”了一场发布会后,我决定把它写进博客
SolonCode v0.0.20 发布 - 编程智能体(新增子代理和浏览器能力)
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
当你的 PHP 网站一天内流量增长 10 倍时,会发生什么?
4
669
姬宜欣
2026-02-26
业界
[拆解LangChain执行引擎]支持自然语言查询的长期存储
3
636
遗憩
2026-02-27
业界
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
2
513
剽达崖
2026-02-28
安全
ManimCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升
4
950
荆邦
2026-03-03
业界
BIO详解:解锁阻塞IO的使用方式
1
875
栓汨渎
2026-03-05
业界
为什么 PHP 闭包要加 static?
1
163
鞠古香
2026-03-05
业界
杨辉三角原理及PHP代码实现
1
699
押疙
2026-03-05
业界
PHP 的异步编程 该怎么选择
0
952
薛小春
2026-03-06
业界
让OpenClaw替我“看”了一场发布会后,我决定把它写进博客
1
283
喳谍
2026-03-06
业界
SolonCode v0.0.20 发布 - 编程智能体(新增子代理和浏览器能力)
1
670
甘子萱
2026-03-09
回复
(1)
史穹逊
2026-3-2 12:51:43
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
杠氯
2026-3-2 12:51:43
关注
0
粉丝关注
14
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
韶又彤
9912
6
宋子
9880
7
闰咄阅
9993
8
刎唇
9995
9
蓬森莉
9869
10
遗憩
10006
查看更多
今日好文热榜
902
AI时代,程序员都应该是需求描述工程师
230
openclaw平替之nanobot源码解析(二):age
825
当纺织机轰鸣而来——一个数字时代“纺织女
478
空论与时论
214
搭建数据库服务高可用架构
284
2026卫生高级职称备考:卫生高级职称考试历
28
公司新招了个 5 年 Java,开工第一天就被劝
332
opencalw平替之nanobot 源码解析(一):环
980
【节点】[SceneDepth节点]原理解析与实际应
419
【节点】[SceneDepth节点]原理解析与实际应
757
"给我发个200元红包":一条群消息背后的 AI
477
使用 C++ 模拟 ShaderLanguage 的 swizzle
67
006:RAG 入门-面试官问你,RAG 为什么要切
290
Stanford-CS336-Lecture-02 Pytorch
325
【FAQ】HarmonyOS SDK 闭源开放能力 —Push
884
openclaw本地部署接入飞书教程(最细保姆版
452
文本生成任务评估指标
162
基于碳陶材质的制动系统升级方案:F80/F82
370
windows系统本地安装部署openclaw详细版教
950
一小时手搓轻量级可代替 Qdrant 的向量数据