> 백엔드 개발 > PHP 튜토리얼 > Swoole-1.8.6 已发布,修复 PHP7 相关问题

Swoole-1.8.6 已发布,修复 PHP7 相关问题

WBOY
풀어 주다: 2016-06-23 13:01:22
원래의
892명이 탐색했습니다.

1.8.6版本是一个重要的BUG修复版本,主要修复了PHP7环境下HttpServer、TCPClient、HttpClient、Redis等客户端存在的内存泄漏、崩溃问题。另外1.8.6版本对MySQL进行了彻底重构,提供了全新的面向对象风格API,彻底移除了对PHP的mysqli和mysqlnd的依赖。

建议所有swoole开发者升级至此版本。

主要更新内容

  • 修复Swoole\Server->set方法在关联索引数组的Value为NULL时错误地更改了zval类型

  • 更新Swoole\Server->task方法第三个参数可以直接传入回调函数

  • 修复Swoole\WebSocket\Server收到恶意请求时崩溃的问题,提升稳定性

  • 重构Swoole\MySQL客户端,移除对mysqli和mysqlnd的依赖,提供了面向对象风格的API

  • 调整Swoole\Http\Client为内置,不需要额外的编译参数开启

  • 调整Swoole\Client和Swoole\Http\Client内存回收的时机,在连接发送关闭时回收内存资源

  • 增加swoole_async_dns_lookup查询结果缓存

  • 优化Swoole\WebSocket\Server性能,减少两次内存复制

  • 移除Swoole\Http\Server->setGlobal方法

  • 修复在Task进程中执行close时onClose回调函数未在Worker进程中执行的问题

  • 修复Swoole\Table删除KEY后未清空数据的问题

  • 增加SSL、TLS证书链的支持

  • 移除gcc aio

  • 修复异步文件读写函数的相关问题

新版MySQL异步客户端

$db = new swoole_mysql;$server = array(    'host' => '192.168.56.102',    'user' => 'test',    'password' => 'test',    'database' => 'test',);$db->connect($server, function ($db, $r) {    if ($r === false) {        var_dump($db->connect_errno, $db->connect_error);        die;    }    $sql = 'show tables';    $db->query($sql, function(swoole_mysql $db, $r) {        global $s;        if ($r === false)        {            var_dump($db->error, $db->errno);        }        elseif ($r === true )        {            var_dump($db->affected_rows, $db->insert_id);        }        var_dump($r);        $db->close();    });});
로그인 후 복사
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿