PHP的异步、并行、高性能网络通信引擎Swoole 已发布 1.9.7 版本。此版本增加了Http2.0异步客户端以及对systemd.socket的支持。Http2.0与Http1.1最大的不同是2.0客户端可以支持并发请求,客户端可以使用少量连接完成大量并发请求。另外此版还修复多个细节问题。建议所有用户升级此版本。 主要更新: 增加对systemd.socket的支持 修复低版本gcc编译时MySQL客户端崩溃的问题 增加swoole\http2\client新模块 修复BASE模式下shutdown时发生崩溃的问题 修复openssl-1.1配置检测存在错误问题 增加客户端对http-proxy的支持 修复BASE模式下启用open_eof_split后在onReceive回调函数中关闭连接导致崩溃的问题 修复Redis\Server::format函数SET和MAP格式化错误的问题 修复启用swoole.fast_serialize时直接传入字符串类型变量导致崩溃的问题 当服务器主动关闭连接时onClose回调中的$reactorId变量会设置为-1 增加swoole_process::close参数,允许只关闭管道的其中一个 Http 2.0 客户端: $host = 'www.jd.com'; $port = 443; $ssl = true; $array = array( "host" => $host, "accept-encoding" => "gzip, deflate", 'accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'accept-language' => 'zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4,ja;q=0.2', 'cache-control' => 'max-age=0', 'user-agent' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3026.3 Safari/537.36', ); $list = array(); for($i = 0; $i < 1; $i++) { $client = new swoole_http2_client($host , $port, $ssl); $client->setHeaders($array); $client->get("/", function ($o) use($client) { echo "#{$client->sock} hello world 1\n"; echo $o->body; $client->close(); }); $list[] = $client; } Swoole\Event::wait(); 下载地址: GITHUB:https://github.com/swoole/swoole-src/releases/tag/v1.9.7 开源中国:http://git.oschina.net/swoole/swoole/tree/v1.9.7/ PECL:https://pecl.php.net/package/swoole/1.9.7 Swoole 1.9.7 发布,增加 Http2.0 异步客户端下载地址