ThinkPHP5.0.24需通过think-swoole扩展集成Swoole,分三步:确认Swoole扩展已安装启用(v4.8+)、安装兼容包topthink/think-swoole:^1.2、创建控制器并执行php think swoole:start启动服务。

ThinkPHP5.0.24 本身不内置 Swoole 支持,需通过 think-swoole 扩展手动集成。关键不是“装完 TP 就能用 Swoole”,而是补全环境、安装适配包、配置服务三步到位。
确认 Swoole 扩展已就绪
TP5.0.24 运行在 PHP 环境中,Swoole 必须作为 PHP 扩展提前安装并启用:
- 执行
php --ri swoole,检查输出中 support timer 和 support async_redis 均为enabled - 若提示 command not found 或无 swoole 模块,需先在系统层面安装 Swoole(如宝塔面板 → 软件商店 → PHP 设置 → 安装扩展;或源码编译安装 v4.8+,不推荐 v5.x,因 think-swoole for TP5 不兼容 Swoole 5
- 确保
php -m | grep swoole能输出 swoole,且无报错
安装 think-swoole 兼容包
TP5.0.24 对应的官方 Swoole 封装包是 topthink/think-swoole,注意版本匹配:
- 进入项目根目录,运行:
composer require topthink/think-swoole:^1.2
(不要用 ^2.0+,那是为 TP6 设计的,与 TP5.0.24 不兼容) - 安装成功后,
vendor/topthink/think-swoole目录应存在,且自动注册了服务提供者 - 验证是否加载:执行
php think list,应能看到类似swoole:start、swoole:reload的命令
启动 WebSocket 或 HTTP 服务
安装完成后不能直接访问,需新建控制器继承 think\swoole\Server,再通过命令行启动:
立即学习“PHP免费学习笔记(深入)”;
- 创建控制器,例如
app/index/controller/Chat.php,内容包含protected $port = 9501;和onOpen/onMessage回调 - 确保服务器防火墙/安全组放行对应端口(如 9501)
- 启动服务:
php think swoole:start
或指定配置:php think swoole:start --host=0.0.0.0 --port=9501 - 进程常驻运行,关闭终端前请用
php think swoole:stop
整个过程不依赖 Web 服务器(Nginx/Apache),Swoole 自带 HTTP/WebSocket 服务能力。只要扩展、包、命令三者对齐,TP5.0.24 就能稳定跑起长连接和异步服务。



















