当我运行下面的代码时,在我看来curl_multi_select
并且curl_multi_info_read
彼此矛盾。据我了解,它curl_multi_select
应该是阻塞的,直到curl_multi_exec
有响应,但我还没有看到实际发生。
$url = "http://google.com";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
$mc = curl_multi_init();
curl_multi_add_handle($mc, $ch);
do {
$exec = curl_multi_exec($mc, $running);
} while ($exec == CURLM_CALL_MULTI_PERFORM);
$ready=curl_multi_select($mc, 100);
var_dump($ready);
$info = curl_multi_info_read($mc,$msgs);
var_dump($info);
这返回
int 1
boolean false
这似乎自相矛盾。它怎么能准备好并且没有任何消息?
我使用的 php 版本是 5.3.9