Tôi đang chạy yêu cầu curl trên cơ sở dữ liệu eXist thông qua php. Tập dữ liệu rất lớn và kết quả là cơ sở dữ liệu luôn mất một khoảng thời gian dài để trả về phản hồi XML. Để khắc phục điều đó, chúng tôi thiết lập một yêu cầu curl, với những gì được cho là một thời gian chờ lâu.Đặt thời gian chờ của Curl trong PHP
$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);
Tuy nhiên, yêu cầu curl luôn kết thúc trước khi yêu cầu hoàn tất (< 1000 khi được yêu cầu qua trình duyệt). Có ai biết nếu đây là cách thích hợp để thiết lập thời gian chờ trong curl?
Trong khi [tài liệu trong PHP] (http://php.net/manual/en/function.curl-setopt.php) nói 'CURLOPT_TIMEOUT' là khoảng thời gian chức năng thực hiện, [tài liệu thư viện curl cơ bản] (http://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html) dường như nói về yêu cầu của bạn mất bao lâu, đó là một sự phân biệt thú vị - không biết phải đọc cách nào! – fideloper
Tôi nghĩ đây là cách giải thích tốt nhất: http://stackoverflow.com/questions/27776129/php-curl-curlopt-connecttimeout-vs-curlopt-timeout – fideloper