博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php curl_multi_exec 一定要在 curl_multi_select之前调用原因分析
阅读量:3640 次
发布时间:2019-05-21

本文共 997 字,大约阅读时间需要 3 分钟。

curl_multi_exec 本质上是多个套接字同时在发起请求,传输数据 epoll 多个套接字 (低层是使用libcurl网络库 + epoll 实现)
而单个curl_exec 是直接建立socket 上面封装协议 同步数据传输

curl_multi_select 之前木有调用curl_multi_exec 则始终返回-1 (因为木有执行curl_multi_exec, 则木有connect 内部使用了延迟连接特性)

curl_multi_exec 返回的是整个curl栈状态,及时返回curl_ok 个别curl传输依然是有问题de

Description:------------curl_multi_select() seems broken in PHP 5.3.18 on CentOS 6.3.The behavior of the test script below is different than it used to be, returning immediately without select with a -1 (failure) return value.Test script:---------------$mh = curl_multi_init();print curl_multi_select($mh, 1.0);curl_multi_close($mh);Expected result:----------------curl_multi_select() should take 1.0 seconds to complete and returns 0Actual result:--------------curl_multi_select() returns immediately with return value of -1

参考文献

http://blog.csdn.net/linkaisheng101990/article/details/49557483

http://php.net/manual/en/function.curl-multi-exec.php

http://blog.marchtea.com/archives/109

https://bugs.php.net/bug.php?id=63411

你可能感兴趣的文章
(mac上python、c++读取txt文件时的问题)python 统计txt文档里面的每个单词出现的个数
查看>>
吴恩达机器学习 8.2 单变量线性回归(Linear Regression with One Variable)
查看>>
吴恩达机器学习 8.5 Octave教程(Octave Tutorial)
查看>>
吴恩达机器学习 8.10 正则化(Regularization)
查看>>
吴恩达机器学习 8.12 神经网络:表述(Neural Networks: Representation)
查看>>
Java反射用途及实现
查看>>
说说&和&&的区别?
查看>>
ArrayList集合加入1万条数据,应该怎么提高效率
查看>>
tomcat服务器下springmvc获取ajax请求的中文参数乱码解决
查看>>
Windows10系统PHP安装及Apache配置支持PHP解析教程
查看>>
Ubuntu下使用docker配置nginx
查看>>
Ubuntu下Nginx+PHP7-fpm的配置
查看>>
小白学习JavaSE-day02
查看>>
小白学习JavaSE-day05-类与对象
查看>>
小白学习JavaSE-day06-类的继承
查看>>
小白学习JavaSE-day07之抽象类
查看>>
小白学习之JavaSE-day09-String与基本类型、包装类型的转换,StringBuffer的使用
查看>>
idea安装vue插件,新建文件没有Vue Component解决方法
查看>>
Linux之进程管理相关命令
查看>>
Linux虚拟机内如何安装Docker
查看>>