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

matyhtf
 matyhtf
发布于 2016年06月16日
收藏 6

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();
    });
});
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Swoole-1.8.6 已发布,修复 PHP7 相关问题
加载中

最新评论(9

红白机
红白机

引用来自“Ymssn”的评论

官网的文档没有workerman的好
严重同意,看完还是玩不起来!
LinQ2016
LinQ2016
赞!
SY泷涯
SY泷涯
文档不够完善
Xiphin
Xiphin
很赞
llj1985
llj1985
好样的,正确稳定永远是第一位的,新功能是第二位的。
AYOU
AYOU

引用来自“柑子子”的评论

PHP是世界上最好的语言
没有之一
柑子子
柑子子
PHP是世界上最好的语言
Ymssn
Ymssn
官网的文档没有workerman的好
d
davad_di
很棒的工作79
返回顶部
顶部