首页
下载
文档
社区
视频
捐赠
开源项目
typephp
swoole
code-galaxy
swoole-cli
phpx
phpy
赞助商
AOT 编译器
AI 助理
商业产品
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
新加坡独享 Mac mini AI 工作站
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
TypePHP
CodeGalaxy
发表新帖
在client携程并发请求的日记中很多 http response is unavailable (maybe it has been ended or detached)
### 问题描述 在client携程并发请求的日记中很多 http response is unavailable (maybe it has been ended or detached) https://wiki.swoole.com/#/http_server?id=iswritable ### Swoole版本,PHP版本,以及操作系统版本信息 Swoole 4.8.8 PHP 7.4 系统 ubuntu 20.4 ### 相关代码 ```php for ($i = 0; $i < $num; $i++) { Coroutine::create(function () use ($i, $request, $arr) { try { $client = new Client('qyapi.weixin.qq.com', 443, true); $client->post("/cgi-bin/message/send?access_token=" . $arr['access_token'], json_encode([ 'touser' => '@all', 'msgtype' => 'text', 'agentid' => 'xxxx', 'text' => [ 'content' => $request->get['text'] . $i ?? '内测消息可以忽略' ], 'safe' => 0, ])); var_dump($client->getBody()); } catch (\Throwable $exception) { var_dump($exception->getMessage()); } }); } ``` ### 你期待的结果是什么?实际看到的错误信息又是什么? 这个 错误要怎么处理,当前的 $response 怎么响应都是错误的,不响应,程序出错
发布于4年前 · 12 次浏览 · 来自
提问
啊剑
### 问题描述 在client携程并发请求的日记中很多 http response is unavailable (maybe it has been ended or detached) https://wiki.swoole.com/#/http_server?id=iswritable ### Swoole版本,PHP版本,以及操作系统版本信息 Swoole 4.8.8 PHP 7.4 系统 ubuntu 20.4 ### 相关代码 ```php for ($i = 0; $i < $num; $i++) { Coroutine::create(function () use ($i, $request, $arr) { try { $client = new Client('qyapi.weixin.qq.com', 443, true); $client->post("/cgi-bin/message/send?access_token=" . $arr['access_token'], json_encode([ 'touser' => '@all', 'msgtype' => 'text', 'agentid' => 'xxxx', 'text' => [ 'content' => $request->get['text'] . $i ?? '内测消息可以忽略' ], 'safe' => 0, ])); var_dump($client->getBody()); } catch (\Throwable $exception) { var_dump($exception->getMessage()); } }); } ``` ### 你期待的结果是什么?实际看到的错误信息又是什么? 这个 错误要怎么处理,当前的 $response 怎么响应都是错误的,不响应,程序出错
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
TypePHP
CodeGalaxy
登录
后参与评论
评论
2022-04-20
Rango
这表面你的代码中有在`Response::end()`或者`Server::close()`之后再次执行`Response::end()`或`Response::write()`、`Response::sendfile()`
赞
0
回复