2013-10-21 324 views
4
do { 
     $mrc = curl_multi_exec($mc, $active); 
    } while ($mrc == CURLM_CALL_MULTI_PERFORM); 

是否有其他選擇? 捲曲版本7.27.0CURLM_CALL_MULTI_PERFORM已棄用

+0

不要拿我的話來說,但我假設他們只是在不需要將控制權返回給用戶代碼的情況下,直接遍歷'_perform'中的任何不需要直接阻止的內容(我用PHP的'_exec'封裝)直到沒有任何事情可以立即完成(我想這個假設是沒有理由在這些傳球之間需要控制)。因此,你可以簡單地忽略它,「替代」被認爲是內置的。 – tne

回答

9

嘗試,如:

do { 
    $mrc = curl_multi_exec($mc, $active); 
} while ($active > 0); 
2

這不是真正清楚,如果CURLM_CALL_MULTI_PERFORM已過時或沒有。

符號exists 7.27.0 Change Notes中沒有提及去除。

像@tne在他的評論中指出的那樣:忽略它似乎是合理的。

+2

這絕對是令人困惑的;錯誤代碼的文檔說明了這一點:「在版本7.20.0之前,這可以通過curl_multi_perform返回,但在更高版本中,這個返回代碼從不使用。」 (http://curl.haxx.se/libcurl/c/libcurl-errors.html) - 在7.22.0中,他們應該刪除它的測試:「libtests:停止檢查CURLM_CALL_MULTI_PERFORM」(http:// curl。 haxx.se/changes.html#7_22_0)。我想它是處於某種狀態,沒有正式棄用,但從來沒有使用過,並且清楚地記錄在案。忽略它似乎是合理的。 – tne