必须基于Swoole常驻内存机制构建PHP高并发服务,安装扩展后配置php.ini并重启PHP服务,验证启用成功,再创建含性能调优的HTTP服务脚本并启动验证。

要在生产环境中快速启用支持百万级连接的PHP高并发服务,必须绕过传统PHP-FPM模型,直接基于Swoole常驻内存机制构建服务入口,否则所有优化都无从谈起。
安装Swoole扩展并验证加载
执行pecl install swoole命令安装最新稳定版扩展。该命令会自动编译并输出扩展路径(如/usr/lib/php/20230831/swoole.so)。
打开php.ini文件,在末尾追加两行:
extension=swoole.so
swoole.enable_coroutine=On
【必须重启PHP服务进程】,否则扩展不会生效——常见错误是仅重启Web服务器(如Nginx),却未重启PHP-FPM或系统级PHP服务。
立即学习“PHP免费学习笔记(深入)”;
运行php --ri swoole,若输出中包含“swoole support => enabled”且版本号≥5.1.0,则扩展已就绪。
创建最小可用HTTP服务脚本
新建server.php,写入以下代码:
<?php<br>$server = new Swoole\Http\Server("0.0.0.0", 9501);<br>$server->on('start', function ($server) {<br> echo "HTTP Server started at http://0.0.0.0:9501\n";<br>});<br>$server->on('request', function ($request, $response) {<br> $response->header('Content-Type', 'text/plain');<br> $response->end("OK\n");<br>});<br>$server->start();
这一步操作起来很简单,直接把文件保存后执行php server.php即可启动服务。
注意:不要用php -S内置服务器替代——它不支持协程、无连接复用、无法承载高并发。
配置关键性能参数
在$server->start()前插入set()调用,按以下顺序设置:
① 设置Worker进程数为CPU核心数×2:'worker_num' => 8(4核机器设为8,避免过多进程争抢调度)
② 开启静态资源自动处理:'enable_static_handler' => true,否则CSS/JS等文件需手动路由,极大拖慢首屏速度
③ 启用Gzip压缩:'http_compression' => true,对JSON/HTML文本类响应体压缩率可达70%,显著降低带宽占用
④ 设置最大请求体为16MB:'package_max_length' => 1024 * 1024 * 16,防止大文件上传时被截断
⑤ 关闭DNS阻塞解析:'dns_cache_expire' => 3600,避免每次请求都发起DNS查询
启动并验证服务可达性
在终端执行php server.php,看到输出HTTP Server started at http://0.0.0.0:9501即表示服务已监听。
立即在另一终端执行curl -I http://127.0.0.1:9501,确认返回状态码为HTTP/1.1 200 OK且含Server: swoole-http-server头。
此时服务已具备基础高并发能力,可直连使用,无需Nginx反向代理——Swoole HTTP Server本身已内置路由、静态资源托管与连接管理。



















