基于 Workerman 开发的高性能 PHP 服务框架,通过常驻内存、事件驱动和协程技术,提供超高性能且可扩展的 HTTP 服务
性能远超传统 PHP-FPM 框架 10-100 倍
原生支持 HTTP、WebSocket、TCP、UDP 等多种协议
强大的插件机制,支持快速功能扩展
代码书写方式与传统 PHP 框架相似,上手简单
Webman 是一款基于 Workerman 构建的高性能 PHP 服务框架,其核心目标是突破传统 PHP 在并发处理和高性能场景下的瓶颈。通过集成 HTTP、WebSocket、TCP、UDP 等多种网络协议模块,Webman 旨在为开发者提供一个稳定、高效、易扩展的开发平台。
设计哲学
"以最小内核提供最大的扩展性与最强的性能"
该框架充分利用了常驻内存、协程、连接池等现代 PHP 技术,显著提升了 PHP 应用的吞吐量和响应速度,从而极大地扩展了 PHP 的应用范围。Webman 强调高稳定性、超高性能、高复用性和高扩展性,同时保持了简单易用的特点。
Webman 的架构设计充分体现了其"以最小内核提供最大的扩展性与最强的性能"的理念。其核心架构可以概括为基于 Workerman 的事件驱动、协程化的 HTTP 服务框架。
Webman 本身提供了一个精简的内核,主要包含路由、中间件、Session 管理和自定义进程接口等核心功能。这种最小化内核的设计,使得框架本身非常轻量,启动速度快,资源占用少。
将大量的功能实现交给了 Composer 生态系统,开发者可以根据项目需求自由选择和使用各种成熟的 PHP 组件和类库,例如 Laravel 的 Eloquent ORM、ThinkPHP 的 ThinkORM 等。
应用启动后框架核心和业务代码常驻内存,避免了每个请求的重复初始化开销,显著提升了请求处理速度。
使用 Epoll 等 I/O 多路复用机制处理网络操作,实现了非阻塞的事件驱动模型,避免进程阻塞。
通过协程实现轻量级线程调度,在 I/O 操作时主动让出 CPU 控制权,实现单线程内的高效并发处理。
数据来源:PHP 常用开发框架性能对比测试
Webman 的请求处理流程大大简化,避免了大量的初始化和资源加载开销,使得请求响应时间显著缩短。
Webman 提供了强大且灵活的插件机制,这是其高扩展性的重要体现之一,旨在帮助开发者快速集成和复用功能模块,从而加速开发进程并促进社区共享。
基础插件通常提供一些底层的、通用的功能增强或工具集成。
提供强大的命令行工具,用于执行各种开发任务
实时消息推送功能,支持 WebSocket 通信
跨域资源共享支持,解决前端跨域问题
自动路由生成,简化路由配置
应用插件更侧重于提供具体的业务功能或完整的应用模块。
内置插件系统、后台权限管理、UI 生成功能
轻量级 PHP 站群、集约化快速开发框架
强大的后台管理界面,支持 RBAC 和多语言
工作流应用插件,支持复杂流程流转和审批
Webman 框架在设计之初就充分考虑了多协议支持的需求,基于 Workerman 的强大网络通信能力,原生支持多种网络协议。
高性能 Web 服务支持
提供完整的 HTTP 协议支持,包括 HTTP/1.1 和 HTTPS 安全连接,适合构建 Web 应用和 RESTful API 服务。
实时双向通信
支持 WebSocket 协议,可通过自定义进程或 gateway-worker 插件实现即时通讯、实时数据推送等功能。
底层网络通信
支持原始的 TCP 和 UDP 协议,适用于物联网设备接入、游戏服务器、自定义 RPC 服务等场景。
物联网协议支持
支持 MQTT 协议,用于处理海量物联网设备的连接和数据传输,适用于智能家居、工业物联网等场景。
在一个 Webman 应用中,可以同时运行多种协议的服务进程,各个服务进程之间相互独立又协同工作,极大地扩展了应用场景。
Webman 凭借其内置的 WebSocket 支持和高性能特性,非常适合构建即时通讯和聊天室应用。
适用于需要处理大量并发连接和实时数据交互的在线游戏后端逻辑服务器。
适用类型:网页游戏、手机游戏、棋牌类游戏后端
能够处理物联网设备的海量连接、数据采集、命令下发和实时通讯等需求。
应用场景: 智能家居、工业传感器、DTU 设备对接
适用于需要快速响应的 API 服务、微服务架构、实时数据监控等场景。
优势:二进制打包部署,支持容器化和水平扩展
特性/框架 | Webman | 传统 PHP-FPM | Swoole | Go | Node.js |
---|---|---|---|---|---|
核心架构 | 常驻内存, 事件驱动, 协程 | CGI/FPM, 多进程, 短生命周期 | C 扩展, 常驻内存, 协程 | 静态编译, 原生协程, 事件循环 | V8 引擎, 事件驱动, 非阻塞 I/O |
性能 | 非常高 | 一般 | 非常高 | 非常高 | 非常高 |
易用性 | 较高 | 高 | 中等 | 中等 | 高 |
社区生态 | 发展中 (可复用 Composer) | 非常庞大成熟 | 庞大活跃 | 庞大活跃 | 极其庞大活跃 |
学习曲线 | 较低 | 较低 | 较高 | 较高 | 较低 |
适用场景 | 高并发 API, 实时通讯, IoT, 游戏 | 传统 Web 应用, CMS | 极致性能, TCP/UDP 服务 | 高并发后端, 微服务, 云原生 | I/O 密集型, 实时应用, API |
Webman 优势:PHP 生态延续性,低学习成本,在某些场景下性能甚至优于 Go 框架
Go/Node.js 优势:原生并发支持,极致性能,更活跃的社区生态
Webman 更侧重 Workerman 事件驱动模型,易用性更高,学习成本更低
Webman 提供更"框架化"的体验,内置路由、中间件等功能
php start.php status
php start.php connections
top, vmstat
netstat
远超传统 PHP-FPM 框架 10-100 倍,媲美 Go/Node.js
最小内核设计,强大的插件系统和自定义进程
PHP 开发者友好,代码书写方式传统
HTTP、WebSocket、TCP、UDP、MQTT 全面支持
基于 Workerman,bug 极少,稳定性极高
社区规模不及 Laravel 等老牌框架
需注意避免内存泄漏和数据污染
常驻内存进程调试相对复杂
深入使用需要理解异步编程概念
使用 ORM 会带来一定性能开销
丰富插件生态,壮大开发者社区
深化协程应用,完善协程组件
更好的容器化和微服务支持
强大的调试工具和完善文档
Webman 为 PHP 开发者提供了一个在高性能领域与 Go、Node.js 等竞争的有力武器。随着其生态的不断完善和社区的持续壮大,Webman 有望在未来的 Web 开发和网络服务领域扮演越来越重要的角色。
"Webman 不仅是一个框架,更是 PHP 在高性能领域的突破"
对于那些希望提升现有 PHP 应用性能,或需要构建高性能、实时性要求高的新应用,同时又不想完全脱离 PHP 生态的开发者来说,Webman 是一个非常有力的选择。