PHP cURL 超時設置 CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT 的區別


PHP cURL 的超時設置有兩個 CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT,他們的區別是:

  • CURLOPT_CONNECTTIMEOUT 用來告訴 PHP 在成功連接服務器前等待多久(連接成功之后就會開始緩沖輸出),這個參數是為了應對目標服務器的過載,下線,或者崩潰等可能狀況。
  • CURLOPT_TIMEOUT 用來告訴成功 PHP 從服務器接收緩沖完成前需要等待多長時間,如果目標是個巨大的文件,生成內容速度過慢或者鏈路速度過慢,這個參數就會很有用。

使用 cURL 下載 MP3 文件是一個對開發人員來說不錯的例子,CURLOPT_CONNECTTIMEOUT 可以設置為10秒,標識如果服務器10秒內沒有響應,腳本就會斷開連接,CURLOPT_TIMEOUT 可以設置為100秒,如果MP3文件100秒內沒有下載完成,腳本將會斷開連接

 

需要注意的是:CURLOPT_TIMEOUT 默認為0,意思是永遠不會斷開鏈接。所以不設置的話,可能因為鏈接太慢,會把 HTTP 資源用完

在 WordPress 中,wp_http 類,這兩個值是一樣的,默認是設置為 5 秒。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM