首頁 >後端開發 >php教程 >我可以增加 file_get_contents() 的逾時時間嗎?

我可以增加 file_get_contents() 的逾時時間嗎?

DDD
DDD原創
2024-11-17 09:31:04600瀏覽

Can I Increase the Timeout in file_get_contents()?

file_get_contents() 中的逾時

此查詢解決了使用file_get_contents() 從a 中的一系列連結獲取資料時有關逾時的問題。循環,其中每個連結的處理時間可能明顯超過 15 分鐘。

file_get_contents() 有逾時設定嗎?

是的,file_get_contents() 有預設值由 PHP 配置選項 default_socket_timeout 指定的逾時。此選項的預設值為 60 秒(1 分鐘)。

如何調整超時時間?

您可以使用下列任一方法修改逾時時間:

  • 使用ini_set:
ini_set('default_socket_timeout', 900); // 900 seconds (15 minutes)
$ctx = stream_context_create([
    'http' => [
        'timeout' => 1200, // 1200 seconds (20 minutes)
    ]
]);

echo file_get_contents('http://example.com/', false, $ctx);

使用stream_context_create:

注意:需要注意的是,這些超時設定適用於連接和通訊過程,而不是遠端伺服器的文件處理時間。

以上是我可以增加 file_get_contents() 的逾時時間嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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