Workerman快速入门:5分钟搭建你的第一个异步PHP服务器
Workerman是一个高性能的异步事件驱动PHP框架,专为构建快速、可扩展的网络应用程序而设计。这个强大的框架支持HTTP、WebSocket、SSL以及各种自定义协议,让PHP开发者能够轻松处理高并发场景。
🔧 环境要求与安装
在开始之前,请确保你的系统满足以下要求:
- PHP 8.1 或更高版本
- POSIX兼容的操作系统(Linux、OSX、BSD)
- JSON扩展(必需)
- Event/Swoole/Swow扩展(推荐,用于更好的性能)
安装Workerman非常简单,只需通过Composer执行:
composer require workerman/workerman
🚀 创建你的第一个HTTP服务器
让我们从创建一个简单的HTTP服务器开始。创建一个名为server.php的文件:
<?php
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
// 创建一个HTTP服务器,监听2345端口
$http_worker = new Worker('http://0.0.0.0:2345');
// 设置4个工作进程
$http_worker->count = 4;
// 当收到数据时触发
$http_worker->onMessage = function ($connection, $request) {
// 向客户端发送数据
$connection->send("Hello World from Workerman!");
};
// 运行所有worker
Worker::runAll();
⚡ 启动服务器并测试
保存文件后,在终端中运行:
php server.php start
你会看到类似这样的输出:
Workerman[server.php] start in DEBUG mode
-------------------------------- WORKERMAN --------------------------------
Workerman version: 4.1.12 PHP version: 8.1.0
------------------------------ WORKERS STATUS ------------------------------
proto user worker listen processes status
tcp www-data none http://0.0.0.0:2345 4 [OK]
-----------------------------------------------------------------------------
现在打开浏览器访问 http://localhost:2345,你将看到"Hello World from Workerman!"的响应!
🎯 扩展功能:WebSocket服务器
Workerman同样擅长处理WebSocket连接。让我们创建一个简单的WebSocket服务器:
<?php
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
// 创建WebSocket服务器
$ws_worker = new Worker('websocket://0.0.0.0:2346');
// 当有新连接时触发
$ws_worker->onConnect = function ($connection) {
echo "新连接建立\n";
};
// 当收到消息时触发
$ws_worker->onMessage = function ($connection, $data) {
// 向客户端发送响应
$connection->send('收到: ' . $data);
};
// 当连接关闭时触发
$ws_worker->onClose = function ($connection) {
echo "连接关闭\n";
};
Worker::runAll();
📊 常用命令和操作
Workerman提供了一系列管理命令:
php server.php start- 启动服务器php server.php start -d- 以守护进程模式启动php server.php status- 查看服务器状态php server.php stop- 停止服务器php server.php restart- 重启服务器php server.php reload- 重新加载代码(热更新)
💡 性能优化技巧
为了获得最佳性能,建议:
- 安装Event扩展(
sudo apt-get install php-event) - 根据服务器配置调整工作进程数量
- 使用连接池管理数据库连接
- 启用OPcache加速PHP执行
🎉 总结
通过这个简单的5分钟教程,你已经成功搭建了第一个Workerman服务器!这个强大的异步PHP框架为构建高性能网络应用提供了坚实的基础。无论是实时聊天应用、API服务器还是游戏后端,Workerman都能提供出色的性能和可扩展性。
探索Workerman的更多功能,如协程支持、连接池管理和SSL加密,将帮助你在PHP开发中达到新的高度!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



