|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2012-01-18 13:18 UTC] leonchuk at gmail dot com
Description: ------------ In Windows (tested XP and w7) function "curl_multi_select" executed first time always one second (equal to default parameter - $timeout) --- From manual page: http://www.php.net/function.curl-multi-init#refsect1-function.curl-multi-init-examples --- Test script: --------------- $ch1 = curl_init(); curl_setopt_array($ch1, array(CURLOPT_URL=>"http://lxr.php.net/", CURLOPT_HEADER=>0, CURLOPT_RETURNTRANSFER=>1)); $mh = curl_multi_init(); curl_multi_add_handle($mh,$ch1); $active = null; do $mrc = curl_multi_exec($mh, $active); while ($mrc == CURLM_CALL_MULTI_PERFORM); $start_time = microtime(true); while ($active && $mrc == CURLM_OK) { if (curl_multi_select($mh) != -1) { #after first run = 1 sec echo (microtime(true)-$start_time)."<br>".PHP_EOL; do $mrc = curl_multi_exec($mh, $active); while ($mrc == CURLM_CALL_MULTI_PERFORM); } } curl_multi_remove_handle($mh, $ch1); curl_multi_close($mh); PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 06:00:01 2025 UTC |
Thanks pierrick, marfil for answers. But, your codes still dont work:( I found the answer by putting the following code: ... while ($mrc == CURLM_CALL_MULTI_PERFORM); #fix if(strtoupper(substr(PHP_OS,0,3)) === 'WIN'){ curl_multi_select($this->m_handle, 0.005); curl_multi_exec($this->m_handle, $active); } ...