首頁 >後端開發 >php教程 >使用 file_get_contents() 時如何管理逾時問題?

使用 file_get_contents() 時如何管理逾時問題?

Barbara Streisand
Barbara Streisand原創
2024-11-13 14:19:02762瀏覽

How can I manage timeout issues when using file_get_contents()?

file_get_contents() 的逾時注意事項

使用 file_get_contents() 從遠端連結取得資料時,考慮其逾時影響至關重要。預設情況下,file_get_contents() 繼承了 PHP ini 設定 default_socket_timeout 的逾時時間,預設為 60 秒。如果檢索操作超過此限制,請求將提前逾時。

覆蓋預設超時

要修改預設超時設置,有兩種主要方法:

  1. Ini 設定修改:使用ini_set() 調整default_socket_timeout 值。例如:

    ini_set('default_socket_timeout', 900); // 900 Seconds = 15 Minutes
  2. 流上下文配置:使用stream_context_create()定義自訂流上下文,並將所需的逾時指定為HTTP上下文選項。以下是一個範例:

    $ctx = stream_context_create(array('http' => array('timeout' => 1200))); //1200 Seconds is 20 Minutes
    echo file_get_contents('http://example.com/', false, $ctx);

注意: 請記住,超時持續時間適用於整個檔案檢索過程,包括網路延遲和伺服器處理時間。因此,有必要設定一個適當的超時值來考慮潛在的延遲。

以上是使用 file_get_contents() 時如何管理逾時問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn