如何使用HTTP管道通过单个TCP套接字发送PHP cURL句柄?

如何使用HTTP管道通过单个TCP套接字发送PHP cURL句柄?,php,curl,http-pipelining,Php,Curl,Http Pipelining,我尝试使用PHPCurlHTTP管道功能通过单个TCP连接执行多个请求。指我正在为curl\u multi\u exec()启用pipleining的此页面,方法是添加: curl_multi_setopt($mh,CURLMOPT_流水线,1) 我不想在这里发布一个大的源代码列表,但是您可以在这里从我的github轻松查看或签出完整的示例 为了监视TCP连接,我在另一个控制台会话中使用'netstat-t-u-c'命令 在我上面提到的报告中,有两个脚本。一个用于Ruby,一个用于PHP。Rub

我尝试使用PHPCurlHTTP管道功能通过单个TCP连接执行多个请求。指我正在为curl\u multi\u exec()启用pipleining的此页面,方法是添加:

curl_multi_setopt($mh,CURLMOPT_流水线,1)

我不想在这里发布一个大的源代码列表,但是您可以在这里从我的github轻松查看或签出完整的示例

为了监视TCP连接,我在另一个控制台会话中使用'netstat-t-u-c'命令

在我上面提到的报告中,有两个脚本。一个用于Ruby,一个用于PHP。Ruby版本可以根据需要工作,只为3个GET请求打开一个TCP连接。但是PHP cURL版本打开的TCP连接数量与传递给cURL\u multi\u exec()函数的cURL句柄数量相同


我做错了什么?

看起来这可能是PHP使用流水线实现curl\u multi\u*的一个错误。似乎它们可能不会公开所有必要的常量,以使开发人员能够在使用管道时指示curl在多请求上的行为

我已经在这里提交了错误报告:

可能添加
保持活动性
有帮助吗?不确定。。我想它是默认启用的。你能添加Web服务器吗?它是基于fastcgi还是基于mod。为什么你介意建立多少tcp连接?当你向错误跟踪系统提交错误报告时,报告应该指定问题是什么,而不是仅仅依靠另一个网站上讨论的链接来描述问题。特别是,错误报告的标题应该是具体的,而不仅仅是一个通用术语。我很抱歉。我认为“一揽子”方案是相关的。注意包选项是如何标记为“cURL-related”的。在链接上方有一个简短的描述。如果不清楚的话,我很抱歉。如果有人真的在处理这个bug,并且觉得这个bug不清楚,他们不是通常会在这个问题上与我打开一个线程来获取更多信息,而不是将这个对话带到堆栈溢出吗?请随时更新错误记录,以反映更合适的描述,这样我就可以学习如何做,以备将来参考。我的评论只是作为一个观察者,我与Php或Curl项目无关,所以我没有任何不愉快的感觉。这只是一个提示,告诉你如何在bug报告中获得更多的关注。