宝塔 swoole tcp
时间: 2025-02-20 07:28:06 浏览: 51
### 配置 Swoole 进行 TCP 开发与部署
#### 安装 PHP 扩展 Swoole
为了在宝塔面板中使用 Swoole 进行 TCP 通信,首先需要安装 Swoole 的 PHP 扩展。可以通过以下命令来完成这一过程:
```bash
phpize
./configure --with-php-config=/www/server/php/80/bin/php-config
make && sudo make install
```
上述命令假设 PHP 版本为 8.0,并且路径位于 `/www/server/php/80` 下[^5]。
#### 启用并加载扩展
安装完成后,需编辑当前使用的 PHP 版本对应的 `php.ini` 文件,通常可以在宝塔面板中的 PHP 设置里找到此文件。向该文件添加如下行以启用 Swoole 扩展:
```ini
extension=swoole.so
```
保存更改后重启 Web 服务器使设置生效。
#### 创建简单的 TCP Server 使用案例
下面展示了一个基本的基于 Swoole 构建的 TCP 服务器实例代码片段:
```php
<?php
$server = new Swoole\Server("127.0.0.1", 9501);
// 当有新的连接进入时触发
$server->on('connect', function ($serv, $fd){
echo "Client: Connect.\n";
});
// 接收到客户端消息时调用
$server->on('receive', function (Swoole\Server $serv, int $fd, int $reactorId, string $data){
$serv->send($fd, 'Hello World');
$serv->close($fd);
});
// 关闭连接时触发
$server->on('close', function ($serv, $fd){
echo "Client: Close.\n";
});
$server->start();
?>
```
这段脚本定义了一个监听本地 IP 地址端口 9501 上的新连接请求的服务程序[^3]。
#### 调整防火墙规则
如果遇到无法正常接收外部连接的情况,则可能是由于防火墙阻止了相应的端口号。因此可能需要调整系统的防火墙配置允许特定端口的数据包通过。对于 CentOS 或其他 RedHat 类 Linux 发行版来说,这涉及到修改由 `system-config-firewall` 工具所写入的防火墙策略[^1]。
#### 测试服务可用性
启动编写的 PHP 脚本之后,可以利用 Telnet 或者 Netcat (`nc`) 命令测试新建立起来的 TCP 服务是否能够正确响应来自客户端的消息。
---
阅读全文
相关推荐











