当前位置: 首页 > 后端技术 > PHP

Swoolev4.7.0正式发布,Swoole官网支持直接运行Swoole代码

时间:2023-03-29 15:11:27 PHP

Swoole官网增加了“在线运行”按钮,可以直接运行首页提供的部分示例代码。当然你也可以手动输出一些PHP代码进行测试。可以访问Swoole官网首页进行测试:https://www.swoole.com/目前还在测试阶段。如果遇到BUG,可以反馈给Swoole技术客服或者交流群。在releasenotes正式发布之前,已经发布了一些新的特性和功能,对一些新的特性和功能进行说明,这里不再赘述。可以查看:Swoolev4.7新特性预览的Process\Pool::detach()Swoolev4.7新特性预览onDisconnect事件回调Swoolev4.7版本新特性预览Co::cancel()Swoolev4.7版本预览支持c-aresSwoolev4.7版本新特性预览支持各个端口设置不同的心跳检测时间说明一些其他修改:禁止HookFunctionsthathavebeenPHPdisabled在之前的版本中,如果使用disable_functions来禁用该方法,HOOK后仍然可以正常调用。以下代码:var_dump(`ls`);Swoole\Coroutine\run(function(){var_dump(`ls`);});保存到test.php,使用命令行执行php-ddisable_functions=shell_exectest.php之前版本的输出是:PHPWarning:shell_exec()hasbeendisabledforsecurityreasonsin/Users/lufei/Swoole/test.phponline3NULLstring(11)"swoole.php"升级到v4.7.0后,行为和HOOK前一致。PHPWarning:shell_exec()hasbeendisabledforsecurityreasonsin/Users/lufei/Swoole/test.phponline3NULLPHPWarning:shell_exec()hasbeendisabledforsecurityreasonsin/Users/lufei/Swoole/test.php在线6NULLCoroutine\go()方法添加一个返回值。在之前的版本中,使用Coroutine\go()方法是不会返回协程ID的。从v4.7.0开始,增加了返回值,返回当前协程ID。useSwoole\Coroutine\System;usefunctionSwoole\Coroutine\run;usefunctionSwoole\Coroutine\go;run(function(){$cid=go(function(){System::sleep(0.001);});var_dump($cid);});新增Cygwin环境构建从v4.7.0版本开始,可以从GitHubrelease获取该版本的Cygwin版本压缩包使用。以下为完整的更新日志:新API新增Process\Pool::detach()方法(#4221)(@matyhtf)服务端支持onDisconnect回调函数(#4230)(@matyhtf)新增Coroutine::cancel()和Coroutine::isCanceled()方法(#4247)(#4249)(@matyhtf)Http\Client支持http_compression和body_decompression选项(#4299)(@matyhtf)增强了对coroutineMySQLclientfieldstrictwhenprepareType(#4238)(@Yurunsoft)DNS支持c-ares库(#4275)(@matyhtf)服务器支持多端口监听时配置不同端口的心跳检测时间(#4290)(@matyhtf)服务器的dispatch_mode支持SWOOLE_DISPATCH_CO_CONN_LB和SWOOLE_DISPATCH_CO_REQ_LB模式(#4318)(@matyhtf)ConnectionPool::get()支持超时参数(swoole/library#108)(@leocavalcante)HookCurl支持CURLOPT_PRIVATE选项(swoole/library#112)(@sy-records)优化PDOStatementProxy的函数声明::setFetchMode()方法(swoole/library#109)(@yespire)修复并修复使用线程上下文创建大量协程时无法创建线程的异常(8ce5041)(@matyhtf)修复安装Swoole时缺少php_swoole.h头文件的问题(#4239)(@sy-records)修复EVENT_HANDSHAKE不向下兼容的问题(#4248)(@sy-records)修复SW_LOCK_CHECK_RETURN宏可能调用函数两次的问题(#4302)(@zmyWL)修复M1芯片下Atomic\Long的问题(e6fae2e)(@matyhtf)修复Coroutine\go()缺少返回值问题(swoole/library@1ed49db)(@matyhtf)修复StringObject返回值类型问题(swoole/library#111)(swoole/library#113)(@leocavalcante)(@sy-records)内核禁止已被PHP禁用的Hook函数(#4283)(@twose)添加了用于测试的Cygwin构建(#4222)(@sy-records)添加了alpine3.13和3.14编译测试(#4309)(@limingxinleo)