OpenSwoole 26.2.0 发布!支持 PHP 8.5

OpenSwoole 26.2.0 是一个主要版本,支持 PHP 8.5、本机 PHP Fiber 协程上下文、io_uring 反应器后端、在协程中进行 Xdebug 逐步调试、事件循环延迟指标等。
您现在可以升级到 OpenSwoole v26.2.0:
pecl install openswoole-26.2.0
或使用 Docker 镜像:
docker pull openswoole/openswoole:26.2-php8.5-alpine
在 Docker Hub 上查找更多 OpenSwoole Docker 镜像。
新功能
PHP 8.5 支持
OpenSwoole 26.2.0 完全兼容 PHP 8.5,包括管道运算符、URI 扩展、Clone With 等新功能。
PHP 本机 Fiber 协程上下文
新的协程上下文后端使用 PHP 的本机 zend_fiber API,而不是 Boost ASM 或 ucontext。这使得与 Xdebug、性能分析器和支持 Fiber 的扩展正确集成。请参阅 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+ 上支持多射击轮询,并在较旧内核上自动回退。请参阅 io_uring 文档以获取设置和示例。
io_uring 异步文件 I/O 引擎
专用的 io_uring 环用于异步文件操作(打开、读取、写入、fstat、fsync、unlink、重命名、mkdir、rmdir),取代线程池。不支持的操作会优雅地回退到线程池。请参阅 io_uring 异步文件 I/O 文档以获取示例。
事件循环延迟指标
通过$server->stats() 实时监控事件循环延迟。每个 worker、任务 worker(启用协程时)和反应器线程(进程模式)暴露event_loop_lag_ms、event_loop_lag_max_ms和event_loop_lag_avg_ms。用于检测阻塞操作导致事件循环停滞。请参阅事件循环延迟指标文档以获取监控和警报示例。
协程安全的 exit() 支持
在 PHP 8.4+ 上,协程中的exit()调用会被拦截并抛出openswoole_exit_exception,而不是终止整个进程。请参阅协程安全的exit()文档以获取示例。
HTTP 解析器迁移到 llhttp
用 llhttp 解析器替换自定义的openswoole_http_parser,以提高标准合规性和性能。
错误修复
- 修复反射问题和作用域泄漏 (#284):
OSW_FUNCTION_ALIAS导致全局函数显示为类方法,并破坏反射中的返回类型。替换为正确的PHP_FE / PHP_FALIAS条目; - 修复 io_uring 下文件 I/O 挂起:竞争条件,其中
eventfd通知可能在排水和重新武装单射击 POLL_ADD 之间丢失; - 修复文件锁错误:非阻塞 flock (LOCK_NB) 现在在系统
flock()调用之前正确检查进程内协程锁状态; - 修复 CPU 亲和性编译检查:在 sched.h 之前添加缺失的
_GNU_SOURCE定义; - 修复 futex 编译检查:在 linux/futex.h 之前添加缺失的
_GNU_SOURCE定义。
破坏性变更
- 放弃 PHP 8.2 支持(最低要求 PHP 8.3);
- 移除 PHP < 8.0 兼容代码;
- 命名空间规范化:
openswoole_*。
升级
如果您需要安装 OpenSwoole 或查看其他更新方法,请查看安装文档以及如何更新 Open Swoole。
安装核心库:
composer require openswoole/core:26.2.0
以上关于OpenSwoole 26.2.0 发布!支持 PHP 8.5的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » OpenSwoole 26.2.0 发布!支持 PHP 8.5
微信
支付宝