什麼是默認PHP cURL超時值?我可以從編碼中獲得價值嗎?PHP:默認cURL超時值
回答
的默認值如下:
- CURLOPT_FTP_RESPONSE_TIMEOUT:不定
- CURLOPT_TIMEOUT:不定
- CURLOPT_TIMEOUT_MS:不定
- CURLOPT_CONNECTTIMEOUT 300秒
- CURLOPT_CONNECTTIMEOUT_MS:不定
- CURLOPT_ACCEPTTIMEOUT_MS: 60秒
以前的答案(供參考):
我的理解是,捲曲服從default_socket_timeout除非CURLOPT_TIMEOUT
/CURLOPT_CONNECTTIMEOUT
覆蓋。
$socket_timeout = ini_get('default_socket_timeout'); // timeout in seconds
感謝您的發現。任何權威的答案? – Raptor 2012-04-25 07:46:25
詳細一點... http://curl.haxx.se/mail/lib-2001-01/0019.html – 2013-03-02 14:19:53
這取決於您正在談論的超時設置。
cURL提供了特定於連接超時設置的各種選項。其中一些選項有一個設定的限制,而其他選項則允許轉賬採取無限期的時間。爲了瞭解哪些值具有默認設置並且不,你需要看看的libcurl的curl_easy_setopt()
功能:http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
libcurl中列出了以下連接超時的具體設置:
- CURLOPT_FTP_RESPONSE_TIMEOUT:無默認值(無限期)
- CURLOPT_TIMEOUT:無默認值(無限期)
- CURLOPT_TIMEOUT_MS:無默認值(無限期)
- CURLOPT_CONNECTTIMEOUT:默認爲300秒 個
- CURLOPT_CONNECTTIMEOUT_MS:沒有默認
- CURLOPT_ACCEPTTIMEOUT_MS:默認爲60000毫秒
PHP源代碼沒有覆蓋上述任何默認設置:https://github.com/php/php-src/blob/master/ext/curl/interface.c。該PHP綁定覆蓋唯一有點相關的參數是CURLOPT_DNS_CACHE_TIMEOUT
,改變從60秒的默認值到120秒:https://github.com/php/php-src/blob/a0e3ca1c986681d0136ce4550359ecee2826a80c/ext/curl/interface.c#L1926
一個其他的答案中指出,PHP將設置CURLOPT_TIMEOUT
在default_socket_timeout
INI設置指定的值。我無法在PHP源代碼中找到任何東西來備份此聲明,並且我無法通過下載一個具有default_socket_timeout
設置爲1秒的非常大的文件來觸發cURL超時。
默認超時時間爲0(零),這意味着它在傳輸過程中永不超時。 http://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html – diyism 2014-11-27 10:09:50
是的。這是在我的答案:'CURLOPT_TIMEOUT:沒有默認(不確定)' – 2014-12-02 00:02:47
- 1. PHP會話默認超時
- 2. HttpURLConnection超時默認值
- 3. RestTemplate - 默認超時值
- 4. PHP CURL超時?
- 5. Heroku - cURL超時(PHP)
- 6. 更改來自roku的CURL請求的默認超時時間
- 7. 在PHP中設置Curl的超時值
- 8. IIS默認超時
- 9. PageMethod默認超時
- 10. WebClient默認超時?
- 11. 默認ping超時
- 12. 檢索默認的Internet超時值?
- 13. Nagios默認值超出時間期限
- 14. 如何設置savon默認超時值
- 15. WCF端點的默認超時值
- 16. 設定默認RTO(重傳超時)值
- 17. 什麼是TransactionScope默認超時值?
- 18. pywinauto更改默認超時值
- 19. db.savechanges()中的默認超時值?
- 20. flex響應者默認超時值?
- 21. PHP CURL超時但CLI CURL工程
- 22. 如何覆蓋Codeception的默認CURL超時 - 使用Browserstack
- 23. 在C++中使用libcurl進行curl調用的默認超時
- 24. php cURL超時並失敗
- 25. 請求超時與php + cURL
- 26. PHP:瞭解CURL超時
- 27. curl是否默認啓用PHP安裝?
- 28. php session_start默認值?
- 29. WCF 4默認超時?
- 30. 默認超時爲providerName =「System.Data.EntityClient」
你能支持這個嗎?我無法在PHP curl綁定中找到證明這一點的東西(https:// github。COM/PHP/PHP-SRC /斑點/主/ EXT /捲曲/ interface.c)。我也嘗試將我的'default_socket_timeout' ini設置爲1並下載了一個大文件,但curl從未超時 - 意味着默認值0(不確定)仍在使用。然後,我明確地在curl句柄上設置CURLOPT_TIMEOUT值爲一秒,嘗試下載同一個文件,並且我注意到連接在1秒後明顯縮短。 – 2013-04-12 23:21:53
@MichaelDowling的評論提供了更多的信息和證據來回答這個問題。 – 2013-08-13 21:58:05
爲什麼這個答案被標記爲正確? – jayarjo 2013-12-02 08:52:56