我正在通過PHP在eXist數據庫上運行curl請求。該數據集非常大,因此數據庫一直需要很長時間才能返回XML響應。爲了解決這個問題,我們設置了一個curl請求,這個請求應該是一個很長的超時。在PHP中設置Curl的超時值
$ch = curl_init();
$headers["Content-Length"] = strlen($postString);
$headers["User-Agent"] = "Curl/1.0";
curl_setopt($ch, CURLOPT_URL, $requestUrl);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'admin:');
curl_setopt($ch,CURLOPT_TIMEOUT,1000);
$response = curl_exec($ch);
curl_close($ch);
然而,請求完成(< 1000當通過瀏覽器請求)之前捲曲請求一致結束。有誰知道這是否是在curl中設置超時的正確方法?
雖然[PHP中的文檔](http://php.net/manual/en/function.curl-setopt.php)說'CURLOPT_TIMEOUT'是關於函數需要多長時間,[底層捲曲庫文檔] (http://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html)似乎說這是關於請求需要多長時間,這是一個有趣的區別 - 不知道該怎麼讀取! – fideloper 2015-12-21 19:16:10
我想這裏是最好的解釋:http://stackoverflow.com/questions/27776129/php-curl-curlopt-connecttimeout-vs-curlopt-timeout – fideloper 2015-12-21 19:17:07