使用Swoole创建HTTP服务器只需几行代码:安装Swoole扩展后,编写server.php文件,实例化SwooleHttpServer并监听端口,设置request回调返回响应内容,调用start()启动服务;通过php server.php运行后,访问127.0.0.1:9501即可看到”Hello from Swoole HTTP Server!”。关键点包括正确设置Content-Type头、必须调用$response->end()结束响应,代码虽简洁但需注意细节避免响应异常。

要使用 Swoole 创建一个最简单的 HTTP 服务器,只需要几行代码就能实现。Swoole 提供了 HttpServer 类,可以快速搭建高性能的异步 HTTP 服务。
1. 安装 Swoole 扩展
如果你还没安装 Swoole,请先通过 pecl 安装扩展:
pecl install swoole
或者使用 Docker、编译方式安装,确保 PHP 能加载 swoole 扩展(php -m | grep swoole)。
2. 编写最简 HTTP 服务器
创建一个 PHP 文件,例如 server.php:
$server = new SwooleHttpServer(“127.0.0.1”, 9501);
$server->on(“start”, function ($server) {
echo “Swoole HTTP server is started at http://127.0.0.1:9501n”;
});
$server->on(“request”, function ($request, $response) {
$response->header(“Content-Type”, “text/plain”);
$response->end(“Hello from Swoole HTTP Server!n”);
});
$server->start();
3. 启动并测试服务器
在终端运行:
php server.php
curl http://127.0.0.1:9501
你会看到返回:
Hello from Swoole HTTP Server!
4. 关键点说明
- 监听地址和端口:这里用的是 127.0.0.1:9501,可按需修改
- request 回调:每次 HTTP 请求都会触发,接收请求并发送响应
- end() 方法:必须调用,用于结束响应并发送数据
- 同步风格,异步性能:代码看起来是同步的,但底层是事件驱动、高并发的
基本上就这些。不复杂但容易忽略细节,比如没加 header 或忘了 end() 就会导致响应异常。
以上就是Swoole怎么创建一个最简单的HTTP服务器的详细内容,更多请关注php docker 浏览器 端口 curl ai swoole php swoole echo cURL 并发 function 事件 异步 docker http


