該代碼總是失敗(即,$result
是布爾false
):curl超時小於1000ms總是失敗?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $path);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$curl_version = curl_version();
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS, 999);
$result = curl_exec($ch);
curl_close($ch);
該代碼總是成功(即,$result
是包含標題字符串):
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $path);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$curl_version = curl_version();
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS, 1000);
$result = curl_exec($ch);
curl_close($ch);
唯一的區別在於我把超時時間從999ms改爲1000ms。
這必須是curl中的錯誤或者我錯過的連接超時文檔中的某種最小值。這是什麼?我的錢在後者上。
哇,我怎麼錯過了?! – Trott
好的,我在文檔中看到了這一點,但我真的不明白它的意思,以及我如何使它的工作範圍小於1000.任何幫助你可以給我,將不勝感激,謝謝! –
你必須爲你自己編譯libcurl,使用'--enable-threaded-resolver',然後編譯curl擴展名以反對它。 –