Workerman快速入门:5分钟搭建你的第一个异步PHP服务器

Workerman快速入门:5分钟搭建你的第一个异步PHP服务器

【免费下载链接】workerman An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols. 【免费下载链接】workerman 项目地址: https://gitcode.com/gh_mirrors/wo/workerman

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开发中达到新的高度!

【免费下载链接】workerman An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols. 【免费下载链接】workerman 项目地址: https://gitcode.com/gh_mirrors/wo/workerman

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值