file_get_contents() 的逾時注意事項
使用 file_get_contents() 從遠端連結取得資料時,考慮其逾時影響至關重要。預設情況下,file_get_contents() 繼承了 PHP ini 設定 default_socket_timeout 的逾時時間,預設為 60 秒。如果檢索操作超過此限制,請求將提前逾時。
覆蓋預設超時
要修改預設超時設置,有兩種主要方法:
Ini 設定修改:使用ini_set() 調整default_socket_timeout 值。例如:
ini_set('default_socket_timeout', 900); // 900 Seconds = 15 Minutes
流上下文配置:使用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中文網其他相關文章!