[已解决]docker webman协程使用swoole报错Create io_uring failed

lsmir2

问题描述

阿里云 alios 3 快速启动镜像 使用swoole协程异常 日志一直滚..
使用Fiber正常.

解决方法

使用 --privileged 参数来运行容器

docker-compose.yml

services:
  your_service:
    privileged: true  # 启用特权模式

截图报错信息里报错文件相关代码

截图

操作系统及workerman/webman等框架组件具体版本

workerman 5.1.1
php 8.3.21
linux 5.10.134-18.al8.x86_64
docker

85 2 0
2个回答

轻云蔽月

支持iouring是swoole6才有的新特性,专门用于协程化文件操作。
它这里的error code 是1,表示Operation not permitted操作不允许。
尝试启动容器时加上下面的命令:
使用 --privileged 参数来运行容器
运行时增加 --security-opt seccomp:unconfined 参数,允许 docker 容器使用 io_uring 特性。
或者实在不行,编译swoole的时候不使用--enable-iouring。

  • 暂无评论
轻云蔽月

https://wiki.swoole.com/zh-cn/#/file/engine
或者尝试修改iouring_entries的值为小于8192的值试试。

  • 暂无评论
×
🔝