🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 概述 Workerman是一款开源高性能纯PHP开发的开源高性能的PHP 应用容器。它大大突破了传统PHP应用范围,被广泛的用于互联网、即时通讯、APP开发、硬件通讯、智能家居、物联网等领域的开发。 Workerman不是重复造轮子,它不是一个MVC框架,而是一个更底层更通用的服务框架,你可以用它开发tcp代理、梯子代理、做游戏服务器、邮件服务器、ftp服务器、甚至开发一个php版本的redis、php版本的数据库、php版本的nginx、php版本的php-fpm等等。Workerman可以说是PHP领域的一次创新,让开发者彻底摆脱了PHP只能做WEB的束缚。 实际上Workerman类似一个PHP版本的nginx,核心也是多进程+Epoll+非阻塞IO。Workerman每个进程能维持上万并发连接。由于本身常驻内存,不依赖Apache、nginx、php-fpm这些容器,拥有超高的性能。同时支持TCP、UDP、UNIXSOCKET,支持长连接,支持Websocket、HTTP、WSS、HTTPS等通讯协议以及各种自定义协议。拥有定时器、异步socket客户端、异步Redis、异步Http、异步消息队列等众多高性能组件。 ## 更新日志 * 在 #950 中改进测试 * 在 #951 中将Windows和Mac OS添加到测试 * 修正:优雅的停止和标准化的代码格式在 #952 * 修复了`onWorkerStop`无法触发的bug。在 #959 * 在 #961 中更新了Swoole TcpConnection * 在 #968 中更新worker * 第一个类可调用语法由在 #972 * 更新`Event.php`通过在 #965 * 重构:在 #975 中改进类型定义 * 测试中的网络设置,在 #973 中 * 重构:在 #976 中合并空分配 * 从phpstan中删除了一些错误,并在 #979 中解决这些错误 * 更新`$eventLoopClass`初始化过程。在 #980 * 在 #978 中的所有事件类中实现错误处理 * 事件在 #981 中完成 * 测试改进:Udp和WebSocket服务器代码存根在 #983 中移出到Stub目录 * 输出流现在可以在 #984 中使用$outputStream属性设置 * 临时文件处理重构由在 #982 * 在resetStd中修复以在 #986 中关闭STDOUT和STDERR * 修复了当tty装饰不可用时safeEcho从不打印输出的问题。在 #990 * worker:允许在 #993 中将logFile设置为/dev/null * 修复 #997 中反序列化返回假时的错误 * 在 #1019 中将pids添加到.gitignore * 常量版本由 #1020 中的 * 改进了 #1026 中进程退出和php select超过file descr. by时的日志记录 * 在 #1011 中将工作模式信息添加到统计文件 * 修复(TCP):HTTP代理设置由在 #1029 * 将application/wasm添加到mime.types by in #1032 * 修复PHP 8.4中的显式空值问题 * 修复PHP 8.4中的空值问题 #1047 * 响应构造使用属性提升通过在 #1050 * 属性推广在 #1049 ![](https://img.kancloud.cn/ff/8a/ff8a9e8504c10486277bbdcaba87c8dd_922x912.png) ## 新的贡献者 * @luzrain made their first contribution in #972 * @imlinfly made their first contribution in #965 * @vanodevium made their first contribution in #993 * @tourze made their first contribution in #997 * @lengqiuqiuqiu made their first contribution in #1011 * @roiwk made their first contribution in #1029 * @NitronPlus made their first contribution in #1032