Linux下源码包安装Swoole及基本使用操作图文详解 本文实例讲述了Linux下源码包安装Swoole及基本使用操作。分享给大家供大家参考,具体如下: 下载Swoole PECL扩展源码包:http://pecl.php.net/package/swoole 关于PHP版本依赖选择: 下载好放到/usr/local/src下,解压缩: tar -zxvf swoole-2.2.0.tgz 准备扩展安装编译环境: phpize 查看php-config位置: find / -name php-config 配置:(--with-php-config==后面是你自己的php-config位置) ./configure --with-php-config=/www/server/php/72/bin/php-config 编译安装: make && make install 在php.ini里面加一行 : extension = swoole.so 使用 php -m 命令查看swoole扩展已经安装成功: 查看phpinfo信息: (测试前说明:以下使用的端口,要确认服务器放行,宝塔环境还需要添加安全组规则) 【创建TCP服务器】 创建server.php: on('connect', function ($serv, $fd) { echo "Client: Connect.\n"; }); //监听数据接收事件 $serv->on('receive', function ($serv, $fd, $from_id, $data) { $serv->send($fd, "Server: ".$data); }); //监听连接关闭事件 $serv->on('close', function ($serv, $fd) { echo "Client: Close.\n"; }); //启动服务器 $serv->start(); 启动TCP服务: php server.php 查看9501端口已被监听: netstat -an | grep 9501 使用telnet连接TCP服务,输入hello,服务器返回hello即测试成功: telnet 127.0.0.1 9501 (如果telnet工具没有安装,执行yum install telnet 、yum install telnet-server) 也可以写一个TCP客户端连接TCP服务器端: 创建tcp_client.php: connect("127.0.0.1" ,9501)){ echo "连接失败"; exit; } //向tcp服务器发送消息 fwrite(STDOUT, "请输入:"); $msg = trim(fgets(STDIN)); $client->send($msg); //接受tcp服务器消息 $result = $client->recv(); echo $result; 启动tcp客户端: php tcp_client.php 测试结果: 【创建UDP服务器】 创建udp_server.php: on('Packet', function ($serv, $data, $clientInfo) { $serv->sendto($clientInfo['address'], $clientInfo['port'], "Server ".$data); var_dump($clientInfo); }); //启动服务器 $serv->start(); 启动UDP服务: php udp_server.php 查看9502端口已被监听: netstat -an | grep 9502 使用netcat连接UDP服务,输入hello,服务器返回hello即测试成功(CentOS): nc -u 127.0.0.1 9502 (如果没有安装netcat监听器,执行yum install -y nc) 【创建Web服务器】 创建http_server.php: set([ 'document_root' => '/www/wwwroot/lwsblog', 'enable_static_handler' => true, ]); $http->on('request', function ($request, $response) { var_dump($request->get, $request->post); //设置header $response->header("Content-Type", "text/html; charset=utf-8"); //设置cookie $response->cookie("name", "lws", time()+3600); //发送Http响应体,并结束请求处理。 $response->end("