workerman 5.2.3 完全支持 php 8.1,要求启用 pcntl 和 posix 扩展,http 功能需单独引入 workerman-http 组件,协程支持需安装 swow/swoole、前台运行并设置 worker::$eventloopclass。

Workerman 5.2.3 完全支持 PHP 8.1。
PHP 版本兼容性明确
Workerman 5.x 系列从 5.1.0 起就将 PHP ≥ 8.1 作为协程支持的硬性要求,而 5.2.3 是该系列的稳定迭代版本,不仅兼容 PHP 8.1,还经过了针对该版本的充分测试。官方文档与发布说明中均未将 PHP 8.1 列为“不推荐”或“需降级使用”,反而将其作为基础运行环境之一。
安装前需确认的关键扩展
仅版本匹配还不够,以下两个扩展必须启用:
修复 Core bailout 状态损坏安全问题,以及 BZ2、DOM、PDO、Opcache/JIT 内存与执行错误,改进 Unicode 字素处理、URL 解析、TLS 流状态、信号分发及会话错误处理。
- pcntl:用于多进程管理,缺失会导致 Worker 启动失败或无法 reload
- posix:支撑信号处理与进程控制,Linux 下不可省略
可通过命令快速验证:php -m | grep -E '^(pcntl|posix)$'
若无输出,需先编译安装对应扩展,再继续 Workerman 部署。
HTTP 组件需单独引入
Workerman 5.x 将 HTTP 功能重构为可插拔组件 workerman-http,不再内置。如需运行 HTTP 或 WebSocket 服务,须额外执行:
composer require workerman/http- 并在代码中显式注册,例如:
use Workerman\Http\Server;
协程支持需按需启用
PHP 8.1 + Workerman 5.2.3 可启用协程,但需满足三个条件:
- 已安装 Swow 或 Swoole 扩展(推荐 Swow,更轻量)
- 启动时禁用 daemon 模式(即不用
-d参数),前台运行 - 在入口文件设置:
Worker::$eventLoopClass = \Swow\EventLoop::class;
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










